C# 2.0 以降の新機能を一つづつ確認していきます。
以前に一度行ったのですが、公式ドキュメント再編でリンク切れしているところを見つけてしまったので。今ならもっと簡潔なサンプルが欠けるところもあるだろうし、せっかくなので今もう一度確認して行きます。
分解 (Deconstruction)
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/value-tuples#tuple-assignment-and-deconstruction
タプルを"分解"し項目を展開した状態で、変数を作成できる。
static void Main(string[] args) { // 分解していない書き方 { var tuple = Method(); Console.WriteLine($"{tuple.text}, {tuple.length}"); // text, 4 } // 以降、分解している書き方 { var (text, length) = Method(); Console.WriteLine($"{text}, {length}"); // text, 4 } { (var text, var length) = Method(); Console.WriteLine($"{text}, {length}"); // text, 4 } { (string text, int length) = Method(); Console.WriteLine($"{text}, {length}"); // text, 4 } } static (string text, int length) Method() { string text = "text"; return (text: text, length: text.Length); }