【发布时间】:2015-03-29 04:25:09
【问题描述】:
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);
}
【问题讨论】:
-
Sum of items in a collection 的可能重复项
-
@djechlin ....不能解决我的问题。我已经尝试过使用 SUM 函数。
-
您得到的结果是 360 而不是 210?请注意,360 = 150 + (150 + 60),也许你可以看到你的错误——重复计算你的集合的一部分。
-
@Sammy - 你有机会看看我的答案吗?
标签: c# linq linq-to-objects