例如:我有A的列表,我想计算它的平均值a。最好的方法是什么?我找到的愚蠢的解决方案是创建LAverage = new List(),用所有L.a填充它并调用LAverage.average()
class A
{
int a;
int b;
}
void f()
{
var L = new List<A>();
for (int i=0; i<3; i++)
{
L.Add(new A(){a = i});
}
}
答案 0 :(得分:26)
Enumerable.Average
有一个以Func<T, int>
为参数的重载。
using System.Linq;
list.Average(item => item.a);
答案 1 :(得分:4)
你可以尝试这个:
var average = ListOfA.Select(x=>x.a).Average();
其中ListOfA
是A
类型的对象列表。
答案 2 :(得分:3)
您可以使用Enumerable.Average
var average = L.Select(r => r.a).Average();