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 に答える