とあるListを作成したいときに通常なら次のようなコードを書くとします。
var lists = new List<int>(); for (int i = 0; i < 5; i++) { lists.Add(i); }
実はこのような記述はLinqを使うと次のように置き換えることができます。
var lists = Enumerable.Range(0, 5).Select(x => x).ToList();
Enumerable
EnumerableはLinqで定義をされている IEnumerable
IEnumerator とは
ここで登場するIEnumerator
何を定義しているか
IEnumerator
IEnumerator GetEnumerator();
公式によるとこのメソッドは次のように説明されています。
指定した型のコレクションに対する単純な反復処理をサポートする列挙子を公開します。
IEnumerator
GetEnumeratorはIEnumeratorという型が戻り値として定義されています。 次のメソッドが定義されています。
public interface IEnumerator { object Current { get; } bool MoveNext(); void Reset(); }