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;