10

私はC#に慣れようとして、次のプログラムを試しました。これは、配列内の偶数の平均を出力するだけです。

コードスニペットエラー

誰かがここで問題を強調することができれば素晴らしいでしょう。

4

6 に答える 6

19

あなたはselect.Average()(parensと共に)必要です。

于 2012-10-29T04:53:01.497 に答える
5

括弧の欠落()がエラーの理由です。Average()

括弧がないと、メソッド グループとして理解されます。平均的なメソッドには複数のオーバーロードが含まれる可能性があり、特定のオーバーロードされたメソッドを呼び出す必要があるかどうかは不明です。しかし、括弧に言及すると、意図が明確になり、メソッドが呼び出されます。

于 2012-10-29T04:54:02.440 に答える
1

を呼び出していませんAverage。する必要がありますselect.Average()

于 2012-10-29T04:53:56.650 に答える
1

Average問題は、メソッド(拡張タイプ)であるため、括弧を含めるのを忘れたことです。別の解決策は、次のようなラムダ式を使用することです。

var numbers = new[] { 1, 2, 3, 4, 5 };
Console.WriteLine(numbers.Where(x => (x % 2) == 0).Average());

また

var numbers = new[] { 1, 2, 3, 4, 5 };
var select = (from num in numbers where (num % 2) == 0 select num).Average();
Console.WriteLine(select);
于 2012-10-29T04:54:52.697 に答える
1

これは拡張機能Methodなので、次のようにする必要があります。Average()

(括弧())で

于 2012-10-29T04:55:14.187 に答える