1. C#中IEnumerable、 IEnumerator接口都是非泛型迭代器的基础;
2. IEnumerator object具体实现了iterator(通过MoveNext(),Reset(),Current);
3. IEnumerable是一个声明式的接口,声明实现该接口的class是“可枚举(enumerable)”的,但并没有说明如何实现枚举器(iterator);
4. IEnumerator是一个实现式的接口,IEnumerator object就是一个iterator。
5.IEnumerable和IEnumerator通过IEnumerable的GetEnumerator()方法建立了连接,client可以通过 IEnumerable的GetEnumerator()得到IEnumerator object。 |