9

今日、 Massiveでいくつかの問題に遭遇した後、問題を説明するための簡単なテスト プログラムを作成することにしました。このコードで私がやっている間違いは何だろうか:

var list = new List<string>
               {
                   "Hey"
               };

dynamic data = list.Select(x => x);

var count = data.Count();

最後の行でエラーがスローされます: 「オブジェクト」には「カウント」の定義が含まれていません

「データ」がオブジェクトとして扱われるのはなぜですか? この問題は、拡張メソッドを呼び出しているために発生しますか?

次のコードが機能します。

var list = new List<string>
               {
                   "Hey"
               };

dynamic data = list.Select(x => x);

foreach (var s in data)
{
}

この場合、「データ」が正しく IEnumerable として扱われるのはなぜですか?

4

2 に答える 2