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

Nih*_*hau 12 .net c# iterator average mean

例如:我有A的列表,我想在它的字段a上计算平均值.最好的方法是什么?我找到的愚蠢的解决方案是创建LAverage = new List(),用所有La填充它并调用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});
    }
}
Run Code Online (Sandbox Code Playgroud)

dca*_*tro 26

Enumerable.Average有一个重载,Func<T, int>作为一个参数.

using System.Linq;

list.Average(item => item.a);
Run Code Online (Sandbox Code Playgroud)


Chr*_*tos 5

你可以试试这个:

var average = ListOfA.Select(x=>x.a).Average();
Run Code Online (Sandbox Code Playgroud)

其中ListOfA是类型为 的对象列表A