Menambah jawaban sebelumnya, C # 7 menghadirkan tupel tipe nilai, tidak seperti System.Tuple
tipe referensi dan juga menawarkan semantik yang ditingkatkan.
Anda masih dapat membiarkannya tanpa nama dan menggunakan .Item*
sintaks:
(string, string, int) getPerson()
{
return ("John", "Doe", 42);
}
var person = getPerson();
person.Item1;
person.Item2;
person.Item3;
Tapi yang benar-benar hebat dari fitur baru ini adalah kemampuannya untuk menamai tuple. Jadi kita bisa menulis ulang seperti ini:
(string FirstName, string LastName, int Age) getPerson()
{
return ("John", "Doe", 42);
}
var person = getPerson();
person.FirstName;
person.LastName;
person.Age;
Destrukturisasi juga didukung:
(string firstName, string lastName, int age) = getPerson()