【问题标题】:how do i find the sum of all the numbers in an array in c# [duplicate]我如何在c#中找到数组中所有数字的总和[重复]
【发布时间】:2019-11-21 13:40:41
【问题描述】:

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

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);

我的目标是将此代码缩短为类似于 python 中的results = sum(numbers[0:5])

请问,他的 c# 等价物是什么?

【问题讨论】:

    标签: c# sum


    【解决方案1】:

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

    例如总结所有:

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

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

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

    【讨论】:

      【解决方案2】:

      虽然 Julian 的回答是最好的方法,但您也可以不使用 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 方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-15
        • 2020-08-30
        • 2011-10-07
        • 1970-01-01
        • 2019-05-04
        • 1970-01-01
        • 2015-12-17
        相关资源
        最近更新 更多