我有一个整数列表 -
List<int> intlist= new List<int>();
我能说——
intlist.Sum();//I know sum() is already there as a function but I dont know how I can use it
并在不循环遍历的情况下获取该列表的总和。
最佳答案
是的,您可以像那样使用Sum
。只需将结果分配给某物即可:
int s = intList.Sum();
现在您将列表中数字的总和存储在名为 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;
}
请注意,还有一个 Queryable.Sum
方法。这允许您对数据库中的数字求和,而无需获取它们并在本地循环遍历它们。相反,可以在数据库中执行求和操作,并且只返回结果。
关于c# - 我可以直接添加一个整数列表而不循环遍历它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2993522/