我想知道在不使用 Linq Method Average() 的情况下编写此代码的另一种方法。
double[] array1 = { 1, 2, 3, 5, 0 };
double average1 = array1.Average();
Console.WriteLine(average1);
这个问题有点模糊,但有一些替代方案:
double average2 = array1.Sum() / Array.Length;
或者
double sum = 0;
foreach(var item in array1)
{
sum += item;
}
double average2 = sum / array1.Length;
不知道为什么您不想使用 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);
给你一个不涉及任何 LINQ 方法的简明答案(尽管你为什么要限制自己,让我失望):
double[] arr = new[] {1.0, 2.0, 3.0};
double avg = 0;
Array.ForEach(arr, x => avg += x)
avg = avg / arr.Length;