Reproduisant ma réponse de este car il est mieux adapté ici.
À partir de C# v7.0, il est désormais possible de nommer les propriétés des n-uplets qui, auparavant, portaient par défaut des noms tels que Item1
, Item2
et ainsi de suite.
Nommer les propriétés des littéraux de tuple :
var myDetails = (MyName: "Foo", MyAge: 22, MyFavoriteFood: "Bar");
Console.WriteLine($"Name - {myDetails.MyName}, Age - {myDetails.MyAge}, Passion - {myDetails.MyFavoriteFood}");
La sortie sur la console :
Name - Foo, Age - 22, Passion - Bar
Retourner un Tuple (ayant des propriétés nommées) à partir d'une méthode :
static void Main(string[] args)
{
var empInfo = GetEmpInfo();
Console.WriteLine($"Employee Details: {empInfo.firstName}, {empInfo.lastName}, {empInfo.computerName}, {empInfo.Salary}");
}
static (string firstName, string lastName, string computerName, int Salary) GetEmpInfo()
{
//This is hardcoded just for the demonstration. Ideally this data might be coming from some DB or web service call
return ("Foo", "Bar", "Foo-PC", 1000);
}
La sortie sur la console :
Employee Details: Foo, Bar, Foo-PC, 1000
Création d'une liste de Tuples ayant des propriétés nommées
var tupleList = new List<(int Index, string Name)>
{
(1, "cow"),
(5, "chickens"),
(1, "airplane")
};
foreach (var tuple in tupleList)
Console.WriteLine($"{tuple.Index} - {tuple.Name}");
Sortie sur la console :
1 - cow
5 - chickens
1 - airplane
Note : Les extraits de code de ce billet utilisent la fonction d'interpolation de chaînes de caractères de C# v6, comme indiqué en détail. aquí .