本文介绍了c#Linq删除重复的项目并计算平均值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如,我有一个对象列表(属性:名称和值)
$ ul
我想要结果:
我该怎么做?
谢谢
b
$ b
抱歉,基于item.Name。
解决方案
var results =
from kvp in source
group kvp由kvp.Key.ToUpper()转换为g
选择新的
{
Key = g.Key,
Value = g.Average(kvp => kvp.Value)
}
或
<$ p code>
var results = source.GroupBy(c => c.Name)
.Select(c => new(c.Key,c.Average(d => d 。值)));
For example I have a list of objects (properties: Name and value)
- item1 20;
- item2 30;
- item1 50;
I want the result:
- item1 35 (20+50)/2
- item2 30
How can I do this?
thanks
sorry guys, duplicate is based on item.Name.
解决方案
var results =
from kvp in source
group kvp by kvp.Key.ToUpper() into g
select new
{
Key= g.Key,
Value= g.Average(kvp => kvp.Value)
}
or
var results = source.GroupBy(c=>c.Name)
.Select(c => new (c.Key, c.Average(d=>d.Value)));
这篇关于c#Linq删除重复的项目并计算平均值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!