C# の switch 式

C# の switch 式

C# 8 から C# で switch 式 (switch expression) が使えるようになりました。

制御文としての switch 文 については「C# の switch 文」をご参照ください。

「式」 (expression) は評価されて一つの値をとるものをいいます。一方、「文」(statement) は処理を分岐したりするものの、評価されて一つの値をとるものではありません。

switch 式は次のように、 switch キーワードに続くコードブロックの中でファットアローの形式で、値と返す値の対応付けを記述します。

var m = 4;
var month = m switch
{
  1 => "January",
  2 => "February",
  3 => "March",
  4 => "April",
  5 => "May",
  6 => "June",
  7 => "July",
  8 => "August",
  9 => "September",
  10 => "October",
  11 => "November",
  12 => "December",
  _ => ""
};
Console.WriteLine(month);

switch 式で複数の変数の組み合わせをマッチさせる

switch 式における値のマッチングで、複数の変数の値がマッチしたときに特定の値を返すには、タプルを利用します。

次の例では変数 ab の両方の値がマッチしたときに、特定の文字列を返します。

var a = 1;
var b = 'Y';
var s = (a, b) switch
{
  (1, 'X') => "A",
  (1, 'Y') => "B",
  (2, 'X') => "C",
  _ => ""
};
Console.WriteLine(s);

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 C# 入門