पिछले उत्तरों में जोड़ते हुए, C # 7 वैल्यू टाइप ट्यूपल्स लाता है, इसके विपरीत System.Tuple
एक संदर्भ प्रकार है और बेहतर शब्दार्थ भी प्रस्तुत करता है।
आप अभी भी उन्हें अनाम नहीं छोड़ सकते हैं और .Item*
वाक्यविन्यास का उपयोग कर सकते हैं:
(string, string, int) getPerson()
{
return ("John", "Doe", 42);
}
var person = getPerson();
person.Item1;
person.Item2;
person.Item3;
लेकिन इस नई सुविधा के बारे में जो वास्तव में शक्तिशाली है वह टुपल्स नाम की क्षमता है। तो हम इस तरह से ऊपर फिर से लिख सकते हैं:
(string FirstName, string LastName, int Age) getPerson()
{
return ("John", "Doe", 42);
}
var person = getPerson();
person.FirstName;
person.LastName;
person.Age;
विनाशकारी भी समर्थित है:
(string firstName, string lastName, int age) = getPerson()