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