IEnumerableとIEnumeratorの理解
2363 ワード
我々は符号化においてforeachループ集合をよく用い,ループ可能な集合は必ずIEnumeratorインタフェースを実現し,IEnumeratorインタフェースは以下のようになる.
foreachを使用してコレクションを巡回するには、コレクションがIEnumeratorインタフェースを継承し、IEnumeratorインタフェースのメソッドを実装する必要があります.
一方、IEnumerableインタフェースは、次のようなIEnumeratorタイプのインスタンスを返します.
どうしてこのように設計するのですか?IEnumerableは何をしているのか、IEnumeratorはどのようにしているのか、ソフトウェアエンジニアリングのインタフェース隔離の原則に合っています.
1 public interface IEnumerator 2 { 3 // 4 // 。 true; , false。
5 bool MoveNext(); 6 // ,
7 void Reset(); 8
9 // :
10 object Current { get; } 11 }
foreachを使用してコレクションを巡回するには、コレクションがIEnumeratorインタフェースを継承し、IEnumeratorインタフェースのメソッドを実装する必要があります.
一方、IEnumerableインタフェースは、次のようなIEnumeratorタイプのインスタンスを返します.
1 public interface IEnumerable 2 { 3 //IEnumerable , 。
4 IEnumerator GetEnumerator() ; 5 }
どうしてこのように設計するのですか?IEnumerableは何をしているのか、IEnumeratorはどのようにしているのか、ソフトウェアエンジニアリングのインタフェース隔離の原則に合っています.