Sam*_*mmy 1 c# linq linq-to-objects
foreach (Item item in Items)
{
Cost = Cost +
item.Costs.OrderByDescending(x => x.ID)
.FirstOrDefault()
.Cost;
}
Run Code Online (Sandbox Code Playgroud)
上面的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);
}
Run Code Online (Sandbox Code Playgroud)
我不确定你为什么要通过先循环并在循环中再次编写查询来弄乱它.使用foreach循环或LINQ查询执行此操作: -
int result = items.Sum(x => x.Cost);
Run Code Online (Sandbox Code Playgroud)
它会给你210输出.