使用LINQ计算总和

时间:2015-03-29 04:25:09

标签: c# linq linq-to-objects

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);
                    }

1 个答案:

答案 0 :(得分:7)

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

int result = items.Sum(x => x.Cost);

它会给你210作为输出。