は、さまざまなLINQのチュートリアルを読んだ後、私はそれはボンネットの下に動作し、私は誰かが私は次のコード例を持っている質問のいくつかを確認することができ期待しています正確にどのように疑問に思って:LINQ IEnumerableはどのようにして動作しますか?
// The Three Parts of a LINQ Query:
// 1. Data source.
int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
// 2. Query creation.
// numQuery is an IEnumerable<int>
var numQuery =
from num in numbers
where (num % 2) == 0
select num;
// 3. Query execution.
foreach (int num in numQuery)
{
Console.Write("{0,1} ", num);
}
私の質問は、パート2を参照してください。
- ここでは、LINQ構文を使用してIEnumerableオブジェクトを作成しています。 これはListなどの foreachステートメント内で使用される他のIEnumerableオブジェクトと同じですか?
- すべてのIEnumerablesと同様に、内容はforeach文を使用して反復されます。私のクエリは、遅延実行を使用してLINQ IEnumerablesから来る - 実際に集められたIEnumerableの内容はいつですか? GetEnumerator()が呼び出されたときですか?
私の前提は、LINQクエリから生成されたオブジェクトが、GetEnumerator関数内でコードを生成し、LINQ構文で表される方法でデータを取得することです。ちょうど私の推測...私はLINQについて完全に間違っていると思っていない限り...
私のEdulinqブログシリーズを読むことができます:https://codeblog.jonskeet.uk/category/edulinq/ –
おそらくこれはhttp://stackoverflow.com/questions/41257165/working-of-ienumerator-inに役立ちます-c-sharp/41257284#41257284 – wkl
特定の問題がありますか、まったくわからないことはありますか?特定の質問に答えるのは簡単でしょう*フードの下に*が広すぎます。あなたの質問の最後の部分については、[this](http://stackoverflow.com/q/3894490/1997232)を参照してください。 – Sinatr