0

我想知道在不使用 Linq Method Average() 的情况下编写此代码的另一种方法。

   double[] array1 = { 1, 2, 3, 5, 0 };
        double average1 = array1.Average();
        Console.WriteLine(average1);
4

3 回答 3

4

这个问题有点模糊,但有一些替代方案:

double average2 = array1.Sum() / Array.Length;

或者

double sum = 0;
foreach(var item in array1)
{
   sum += item;
}
double average2 = sum / array1.Length;
于 2012-10-27T16:52:43.113 回答
2

不知道为什么您不想使用 LINQ Average 函数,但是您可以遍历数组的元素以计算总和,最后除以元素的数量:

double[] array1 = { 1, 2, 3, 5, 0 };
double average1 = 0;
foreach (var item in array1)
{
    average1 += item;
}
average1 = average1 / array1.Length;
Console.WriteLine(average1);

现在您查看了这段代码,就很清楚为什么下面的代码要好得多:

double[] array1 = { 1, 2, 3, 5, 0 };
double average1 = array1.Average();
Console.WriteLine(average1);
于 2012-10-27T16:53:22.787 回答
1

给你一个不涉及任何 LINQ 方法的简明答案(尽管你为什么要限制自己,让我失望):

double[] arr = new[] {1.0, 2.0, 3.0};
double avg = 0;
Array.ForEach(arr, x => avg += x)
avg = avg / arr.Length;
于 2012-10-27T17:06:35.403 回答