我是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#方式做到这一点。
提前致谢
答案 0 :(得分:5)
当然,使用Linq的Sum
扩展方法:
public double sumx()
{
return col.Sum(item => item.x);
}
public double sumy()
{
return col.Sum(item => item.y);
}