广义和函数

时间:2015-10-06 19:22:25

标签: c#

我是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< Point> Point 是我自己的一个类,它提供了两个属性( x和y )和一个构造函数 Point(x,y) )

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

我正在寻找更通用的 sum 函数,该函数可能使用委托 Lambda 表达式。我不知道如何以智能c#方式做到这一点。

提前致谢

1 个答案:

答案 0 :(得分:5)

当然,使用Linq的Sum扩展方法:

public double sumx()
{
    return col.Sum(item => item.x);
}
public double sumy()
{
    return col.Sum(item => item.y);
}