计算列表<t>字段</t>的平均值

时间:2014-06-24 12:41:26

标签: c# .net iterator average mean

例如:我有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});
    }
}

3 个答案:

答案 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();

其中ListOfAA类型的对象列表。

答案 2 :(得分:3)

您可以使用Enumerable.Average

var average = L.Select(r => r.a).Average();