Önceki cevaplara ek olarak, C # 7 System.Tuple
, bir referans türünden farklı olarak değer türü demetleri getirir ve ayrıca gelişmiş anlambilim sunar.
Yine de adsız bırakabilir ve .Item*
sözdizimini kullanabilirsiniz :
(string, string, int) getPerson()
{
return ("John", "Doe", 42);
}
var person = getPerson();
person.Item1;
person.Item2;
person.Item3;
Ancak bu yeni özellik hakkında gerçekten güçlü olan şey, isimlendirilmiş tupllara sahip olma yeteneğidir. Böylece yukarıdakileri şu şekilde yeniden yazabiliriz:
(string FirstName, string LastName, int Age) getPerson()
{
return ("John", "Doe", 42);
}
var person = getPerson();
person.FirstName;
person.LastName;
person.Age;
Yıkım da desteklenmektedir:
(string firstName, string lastName, int age) = getPerson()