コード例 #1
0
        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;
            //}
        }
コード例 #2
0
    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();
    }