小编Nic*_*tit的帖子

返回元组时将 foreach 转换为变量分配

使用 .NET Framework 4.7.2,我有一个返回元组的函数,然后将返回的值传递给 foreach 循环中的另一个函数:

foreach ((var price, var discount) in Calculator.Compute(period, calculationComponent))
 {
  var rows = CreateCalculationRows(price, discount, otherParameters);
 }
Run Code Online (Sandbox Code Playgroud)

Compute函数声明如下:

public static IEnumerable<(Price price, DiscountInfo discount)> Compute(Price price, CalcComponent calcComponent) { 
  ...
}
Run Code Online (Sandbox Code Playgroud)

代码工作正常,但我想删除 foreach 循环,因为 Calculator.Compute() 函数在某些特定条件下(在此特定情况下始终为真)返回单行。我无法简化 Compute() 返回对象,因为它用于许多其他函数。

如何更改代码以删除 foreach,以便 CreateCalculationRows() 正确接收参数?

.net c# tuples return-value

0
推荐指数
1
解决办法
160
查看次数

标签 统计

.net ×1

c# ×1

return-value ×1

tuples ×1