static void Main(string[] args) { //使用接口IMyEnumerable代替MyList IMyEnumerable list = new MyList(); //得到迭代器,在循环中针对迭代器编码,而不是集合MyList IMyEnumerator enumerator = list.GetEnumerator(); for (int i = 0; i < list.Count; i++) { object current = enumerator.Current; enumerator.MoveNext(); } while (enumerator.MoveNext()) { object current = enumerator.Current; } //ICollection<object> list = new List<object>(); //IEnumerator enumerator = list.GetEnumerator(); //for (int i = 0; i < list.Count; i++) //{ // object current = enumerator.Current; // enumerator.MoveNext(); //} //while (enumerator.MoveNext()) //{ // object current = enumerator.Current; //} }
static void Main(string[] args) { var seq = new FibonacciSequence(7); IMyEnumerator <int> iter = seq; while (iter.MoveNext()) { Console.Write(iter.Current + " "); } iter.Reset(); Console.ReadLine(); }