使用LINQ计算总和

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)

Rah*_*ngh 8

我不确定你为什么要通过先循环并在循环中再次编写查询来弄乱它.使用foreach循环或LINQ查询执行此操作: -

int result = items.Sum(x => x.Cost);
Run Code Online (Sandbox Code Playgroud)

它会给你210输出.