タプルを使ってインスタンスからデータを取り出す方法
クラス、構造体、またはインターフェイスの作成者であれば、1 つまたは複数の Deconstruct
メソッドを実装することで、型のインスタンスを分解することができます。
次のコードは、Person構造体のインスタンスの分解された情報を取得する方法を示しています。
Deconstruct
メソッドを実装することで、型のインスタンスを分解することができます。 このメソッドからは void が返され、分解される各値はメソッド シグネチャの out パラメーターで示されます。 たとえば、Person
クラスの次の Deconstruct
メソッドは、名前、苗字、年齢を返します。
using System;
namespace TapleSample
{
class Program
{
static void Main(string[] args)
{
Person person = new Person("Taro", "Yamamoto", 3);
var (firstName, lastName, age) = person;
Console.WriteLine($"{firstName} {lastName} {age}");
}
}
struct Person
{
public Person(string firstName, string lastName, int age)
{
FirstName = firstName;
LastName = lastName;
Age = age;
}
public string FirstName { get; init; }
public string LastName { get; init; }
public int Age { get; init; }
public void Deconstruct(out string firstName, out string lastName, out int age)
{
firstName = FirstName;
lastName = LastName;
age = Age;
}
}
}
ディスカッション
コメント一覧
まだ、コメントがありません