按属性汇总列表 [英] Summarize list by property
本文介绍了按属性汇总列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个这样的对象列表:
I have a list of objects like this:
List<ClassName> list = new List<ClassName>();
list.Add(new ClassName()
{
Name = 1,
Amount = 5
});
list.Add(new ClassName()
{
Name = 2,
Amount = 10
});
list.Add(new ClassName()
{
Name = 1,
Amount = 20
});
list.Add(new ClassName()
{
Name = 3,
Amount = 10
});
list.Add(new ClassName()
{
Name = 3,
Amount = 15
});
现在,我想通过属性 Name
总结此列表.结果应为每个 Name
包含一个条目,以及具有相同 Name
的条目的 Amount
之和.因此,这将是预期的结果:
Now I would like to summarize this list by the property Name
. The result should contain one entry for every Name
and the sum of Amount
of the entries with the same Name
.
So this would be the expected result:
List<ClassName> list = new List<ClassName>();
list.Add(new ClassName()
{
Name = 1,
Amount = 25
});
list.Add(new ClassName()
{
Name = 2,
Amount = 10
});
list.Add(new ClassName()
{
Name = 3,
Amount = 25
});
我该如何存档?
推荐答案
var lst = list.GroupBy(g = > g.Name).Select(t = > new
ClassName()
{
Amount = t.Sum(s=>s.Amount), Name = t.Key
}).ToList();
这篇关于按属性汇总列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文