广义sum函数

本文关键字:函数 sum 广义 | 更新日期: 2023-09-27 18:16:23

我是c#新手,正在寻找一种聪明的方法来减少代码中的冗余。

 public double sumx()
    {
        double temp = 0;
        foreach (var item in col)
        {
            temp= temp + item.x;
        }
        return temp;
    }
    public double sumy()
    {
        double temp = 0;
        foreach (var item in col)
        {
            temp = temp + item.y;
        }
        return temp;
    }

col的类型为List是我自己的一个类,它提供了两个属性(x和y)和一个构造函数Point(x,y)

我现在想要所有x的和,分别是所有y的和

我正在寻找一个更广义的sum函数,它可能使用委托Lambda表达式。我不知道如何用一种聪明的c#方式做到这一点。

Thanks in advance

广义sum函数

当然,使用Linq:

中的Sum扩展方法
public double sumx()
{
    return col.Sum(item => item.x);
}
public double sumy()
{
    return col.Sum(item => item.y);
}