Calculate sum using LINQ

自闭症网瘾萝莉.ら 提交于 2019-12-08 05:04:40

问题


foreach (Item item in Items)
                        {
                            Cost = Cost +
                                    item.Costs.OrderByDescending(x => x.ID)
                                              .FirstOrDefault()
                                              .Cost;

                        }

The above LINQ returns 150.

I have 4 items(1,2,3,4) with the respective Cost. I need to rewrite the above LINQ to get the correct total cost of 210.

ID--ItemID-- Cost

11 -- 1 -- 10

21 -- 2 -- 20

31 -- 2 -- 30

41 -- 3 -- 40

51 -- 3 -- 50

61 -- 4 -- 60

Can anyone please provide the modified LINQ to do so?

Modifying the LINQ as below doesnt give me the expected result --

foreach (Item item in Items)
                    {
                        Cost = Cost +
                                item.Costs.Sum(r => r.Cost);
                    }

回答1:


I am not sure why you are messing it up by looping first and writing a query again in the loop. Do it either with a foreach loop or a LINQ query like this:-

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

It will give you 210 as output.



来源:https://stackoverflow.com/questions/29325589/calculate-sum-using-linq

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!