29 votes

Tuple C # 7 et async

Ancien format:

 private async Task<Tuple<SomeArray[], AnotherArray[], decimal>>         
GetInvoiceDetailAsync(InvoiceHead invoiceHead) { ... }
 

Comment pouvez-vous faire cela en C # 7 avec un nouveau format de tuples?

46voto

David Arno Points 15499

Étape 1: ajoutez le package de nuget ValueTuple à votre projet.

Étape 2: comme Lucas le dit dans son commentaire, changez la syntaxe en:

 private async Task<(SomeArray[], AnotherArray[], decimal)>GetInvoiceDetailAsync(
    InvoiceHead invoiceHead) 
{ 
    ...
    return (x, y, z); 
}
 

Notez cependant que vous pouvez également ajouter des noms à ces éléments de tuple, le long des lignes de:

 private async Task<(SomeArray[] x, AnotherArray[] y, decimal z)>GetInvoiceDetailAsync(
    InvoiceHead invoiceHead) 
{ 
    ... 
    return (x, y, z); 
}
 

Et vous pouvez ensuite y accéder sous ces noms, plutôt que Item1 , Item2 et Item3 .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X