我如何在C#中找到数组中所有数字的总和

时间:2019-07-11 19:14:25

标签: c# sum

如何缩短代码以查找数组中的数字总和。

var numbers= new double[4]; 
numbers[0]=12.7;
numbers[1]=10.4;
numbers[2]=9.2;
numbers[3]=8.5;
var results=numbers[0]+numbers[1]+numbers[2]+numbers[3];
Console.WriteLine(results);

我的目标是将这段代码缩短为results = sum(numbers[0:5])之类的代码,例如python。

请问,他的c#等效词是什么?

2 个答案:

答案 0 :(得分:3)

使用可以使用.Sum(来自System.Linq)

例如总计所有:

var results = numbers.Sum(n => n);

如果仅需要第一个结果,例如前三个的总和,您可以这样做:

var resultsFirst3 = numbers.Take(3).Sum(n => n);

答案 1 :(得分:0)

尽管朱利安的答案是最好的方法,但您也可以不使用LINQ(不是说应该这样做)来做到这一点。更经典的方法是这样的:

var numbers= new double[4]; 
numbers[0]=12.7;
numbers[1]=10.4;
numbers[2]=9.2;

double sum = 0;

foreach (var num in numbers)
{
    sum += num;
}

Console.WriteLine("The sum is: " + sum);

如您所见,这会更长一些,不太优雅,而且(如果您问我)更难以阅读。因此,我一定会使用LINQ方法。