我在 List<object>
中有类似的东西其中 object
包含 Cat
, Type
和 Items
.
Cat | Type | Items
--------------------
A | P | 3
A | Q | 4
A | R | 2
A | P | 1
A | Q | 5
B | P | 2
B | Q | 1
B | R | 3
B | P | 9
我想做的是计算这些类型的平均项目,从而产生如下结果:
Cat | Type | Items
--------------------
A | P | 2
A | Q | 4.5
A | R | 2
B | P | 5.5
B | Q | 3
B | R | 5
如您所见,平均项目是针对这些类型计算的 最好的方法是什么?
最佳答案
假设输入是在一个名为 list
的变量中提供的类型 IEnumerable<Blah>
(例如,包含数据库查询结果、List<Blah>
、数组等),以及 Blah
是一个具有名为 Cat
的字段或属性的类, Type
和 Items
:
var result = list.GroupBy(entry => new { entry.Cat, entry.Type })
.Select(group => new { group.Key.Cat, group.Key.Type,
Items = group.Average(e => e.Items) })
关于c# - 在 C# 中对数据进行分组和进行聚合计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4686293/