C#7元组&异步

时间:2017-03-09 10:41:32

标签: c# tuples c#-7.0

旧格式:

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

如何使用新的元组格式在C#7中做到这一点?

1 个答案:

答案 0 :(得分:48)

第1步:将ValueTuple nuget包添加到项目中。

第2步:正如Lucas在评论中所说,将语法更改为:

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

注意,您可以在以下行中添加名称到这些元组项目:

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

然后,您可以将其作为这些名称进行访问,而不是Item1Item2Item3