我有一个整数列表 -
List<int> intlist= new List<int>();
Run Code Online (Sandbox Code Playgroud)
我可以说 -
intlist.Sum();//I know sum() is already there as a function but I dont know how I can use it
Run Code Online (Sandbox Code Playgroud)
并获得该列表的总和而不循环它.
Mar*_*ers 11
是的,你可以这样使用Sum.只需将结果分配给某些内容:
int s = intList.Sum();
Run Code Online (Sandbox Code Playgroud)
现在,您可以将列表中的数字总和存储在名为的变量中s.
它实际上是Enumerable.Sum.NET 3.5中添加的扩展方法,它不仅仅适用于列表.
当然在内部这仍然会遍历数字并添加它们,但调用此方法要比自己编写方法容易得多.使用.NET Reflector,您可以看到实现非常简单:
public static int Sum(this IEnumerable<int> source)
{
if (source == null)
{
throw Error.ArgumentNull("source");
}
int num = 0;
foreach (int num2 in source)
{
num += num2;
}
return num;
}
Run Code Online (Sandbox Code Playgroud)
请注意,还有一种Queryable.Sum方法.这允许您在数据库中对数字求和,而无需获取它们并在本地循环它们.相反,可以在数据库中执行求和操作,只返回结果.
| 归档时间: |
|
| 查看次数: |
2489 次 |
| 最近记录: |