rksoftware

Visual Studio とか C# とかが好きです

C# 2.0 以降の新機能の確認 - C# 8.0 - switch 式

C# 2.0 以降の新機能を一つづつ確認していきます。
以前に一度行ったのですが、公式ドキュメント再編でリンク切れしているところを見つけてしまったので。今ならもっと簡潔なサンプルが欠けるところもあるだろうし、せっかくなので今もう一度確認して行きます。

switch 式

 https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/switch-expression
 式である switch が追加になった。以前からあった switch ステートメントとは見た目もだいぶ違います。switch 式は式なので結果を返しますし、値を変数に受けられます。

var name = "saitama";
// switch の結果を変数に代入している
var val = name switch
{
    "gunma" => 1,
    "saitama" => 2,
    { } => 3,
    null => 4,
};

Console.WriteLine(val);  // 2