rksoftware

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

C# 2.0 以降の新機能の確認 - C# 7.1 - 推定タプル名

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

推定タプル名

 https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/value-tuples#tuple-field-names
 タプルの使用時に、要素の名前が推定で付けられるようになりました。推定できない場合(一つの変数が複数回使われた場合など)はこれまで通り、ItemX という名前になります。

var pv = new System.Collections.Generic.KeyValuePair<int, int>(1, 2);
var t1 = (pv.Value, pv.Key);  // ここで右辺で書いているプロパティ名がタプルの要素の名前になる

// これまでは t.Item1 や t.Item2 となっていた
Console.WriteLine(t1.Key);
Console.WriteLine(t1.Value);

int x = 3, y = 4;
var t2 = (x, y);    // ここで右辺で書いている変数名がタプルの要素の名前になる

Console.WriteLine(t2.x);
Console.WriteLine(t2.y);