rksoftware

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

C# 2.0 以降の新機能の確認 - C# 8.0 - タプル パターン (パターンマッチングの強化)

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

タプル パターン (パターンマッチングの強化)

 https://docs.microsoft.com/ja-jp/dotnet/csharp/tutorials/pattern-matching#add-peak-pricing
 パターンマッチングの値も条件もタプルにできる。

string first = "saitama", second = "gunma";
var val = (first, second) switch
{
    ("saitama", "ibaraki") => "ibaraki",
    ("chiba", "gunma") => "chiba",
    ("saitama", "gunma") => "大都会",
    _ => "No",
};
Console.WriteLine(val);  // "大都会" と表示される