foreach (Item item in Items)
{
Cost = Cost +
item.Costs.OrderByDescending(x => x.ID)
.FirstOrDefault()
.Cost;
}
以上LINQ返回150。
我有4项(1,2,3,4)各自的费用。我需要重写上面的LINQ以获得210的正确总成本。
ID - ItemID--费用
11 - 1 - 10
21 - 2 - 20
31 - 2 - 30
41 - 3 - 40
51 - 3 - 50
61 - 4 - 60
任何人都可以提供修改后的LINQ吗?
如下修改LINQ并不能给我预期的结果 -
foreach (Item item in Items)
{
Cost = Cost +
item.Costs.Sum(r => r.Cost);
}
答案 0 :(得分:7)
我不确定你为什么要先通过循环并在循环中再次编写查询来搞乱它。使用foreach
循环或LINQ查询执行此操作: -
int result = items.Sum(x => x.Cost);
它会给你210作为输出。