Linq对List <class>的属性求平均

时间:2018-10-07 14:26:13

标签: 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; }
}

我看到的每个示例都返回一个简单double的Collection或List的平均值。列表属性的平均值将如何返回?

1 个答案:

答案 0 :(得分:6)

如果您想要列表中每个桥点X,Y,Z的平均值,可以这样:

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

如果您希望单个坐标的X是X's和...的平均值,则:

Coordinate cordinate = new Coordinate
{
     X = Coordinates.Average(c => c.X),
     Y = Coordinates.Average(c => c.Y),
     Z = Coordinates.Average(c => c.Z)
};