まず、ValueTuple の分解を使用するためには、まず分解メソッド (deconstruct method) を定義する必要があります。これは、ValueTuple の要素を個別の変数に割り当てるためのメソッドです。以下は、分解メソッドの例です。
public void Deconstruct(out string firstName, out string lastName)
{
firstName = "John";
lastName = "Doe";
}
上記の例では、Deconstruct
メソッドが firstName
と lastName
の2つの出力変数を持ち、それぞれに値を割り当てています。
次に、分解メソッドを使用して ValueTuple を分解する方法を示します。
var person = ("John", "Doe");
var (firstName, lastName) = person;
Console.WriteLine(firstName); // 出力: John
Console.WriteLine(lastName); // 出力: Doe
上記のコードでは、person
タプルを firstName
と lastName
の2つの変数に分解しています。これにより、タプルの要素を個別の変数として使用することができます。
また、ValueTuple の分解は、複数の要素を一度に分解することもできます。以下はその例です。
var (first, middle, last) = ("John", "Doe", 30);
Console.WriteLine(first); // 出力: John
Console.WriteLine(middle); // 出力: Doe
Console.WriteLine(last); // 出力: 30
上記のコードでは、3つの要素を持つタプルを first
、middle
、last
の3つの変数に分解しています。
以上が、C# における ValueTuple の分解の基本的な使い方です。タプルの要素を個別に扱いたい場合には、分解を使用することでコードをシンプルかつ読みやすくすることができます。