IEnumerable 中的 LINQ?
我需要获得不同列的总和。数据:
<name>Nina</name>
<avd>Soft</avd>
<reg>Mara</reg>
<salg>11</salg>
<oms>13000000</oms>
<hen>10</hen>
<name>Vera</name>
<avd>Soft</avd>
<reg>Mara</reg>
<salg>1</salg>
<oms>1520000</oms>
<hen>0</hen>
<name>Hans</name>
<avd>Hard</avd>
<reg>Mes</reg>
<salg>2</salg>
<oms>6130000</oms>
<hen>0</hen>
<name>Egzona</name>
<avd>Hard</avd>
<reg>Mes</reg>
<salg>6</salg>
<oms>10505000</oms>
<hen>35</hen>
例如: 我需要知道希望“reg”或“avd”具有最多的结果(salg * 0.8 + hen * 0.2)
我正在使用.net 4 c#
这是一个IEnumerable,所以我可以使用Select()。
I need to get a sum of different columns. Data:
<name>Nina</name>
<avd>Soft</avd>
<reg>Mara</reg>
<salg>11</salg>
<oms>13000000</oms>
<hen>10</hen>
<name>Vera</name>
<avd>Soft</avd>
<reg>Mara</reg>
<salg>1</salg>
<oms>1520000</oms>
<hen>0</hen>
<name>Hans</name>
<avd>Hard</avd>
<reg>Mes</reg>
<salg>2</salg>
<oms>6130000</oms>
<hen>0</hen>
<name>Egzona</name>
<avd>Hard</avd>
<reg>Mes</reg>
<salg>6</salg>
<oms>10505000</oms>
<hen>35</hen>
For example:
I need to know wish "reg" or "avd" has most Result(salg * 0.8 + hen * 0.2)
I am using .net 4 c#
this is a IEnumerable so I can use Select().
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以订购这些项目并选择第一个:
上面假设您有一个具有属性
Salg
和Hen
的类。如果您的项目仍然是 XML,您将必须使用Element()
方法来访问这些属性。或者,您可以使用
MaxBy()
来自 MoreLinq 项目,在这里会更有效:编辑:
根据更新 - 您需要按名称对数据进行分组,对每个组进行求和并按该总和降序排列,像这样:
You can order the items and take the first:
Above assumes you have a class with the properties
Salg
andHen
. If your items are still XML you will have to use theElement()
method to access these properties.Alternatively you can use
MaxBy()
from the MoreLinq project which would be more efficient here:Edit:
In light of the update - you need to group your data by name, sum up each group and order by that sum descending, something like this: