Linq在List <class>的属性上获得平均值

Eri*_*der 2 c# linq

我有一个清单.坐标具有双重属性X,Y和Z. 我需要计算X的平均值,Y的平均值和Z的平均值.

   public class Coordinate
{
    public double X { get; set; }
    public double Y { get; set; }
    public double Z { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我能看到的每个例子都是返回一个简单double的Collection或List的平均值.如何返回List的属性的平均值?

Ash*_*ani 6

如果你想要列表中每个pont X,Y,Z的平均值,你可以这样做:

List<double> Averages = Coordinates.Select(c=> (c.X + c.Y + c.Z)/3).ToList();
Run Code Online (Sandbox Code Playgroud)

如果你想要一个单独的坐标,它的X是X'的平均值,那么......

Coordinate cordinate = new Coordinate
{
     X = Coordinates.Average(c => c.X),
     Y = Coordinates.Average(c => c.Y),
     Z = Coordinates.Average(c => c.Z)
};
Run Code Online (Sandbox Code Playgroud)