如何缩短代码以查找数组中的数字总和。
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#等效词是什么?
答案 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方法。