.NET2.0之迭代器

来源:互联网 发布:顺丰速运app mac 编辑:程序博客网 时间:2024/05/04 08:53

迭代器是.NET2.0的一个新的特性,使得我们可以很轻松对没有继承自IEnumerator接口的类进行迭代访问。如下一个示例:

 class IteratorDemo
    {
        int[] ii ={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
        public System.Collections.IEnumerator GetEnumerator()
        {
            for (int i = 0; i < ii.Length; i++)
            {
                yield return ii[i];
            }
        }
        public System.Collections.IEnumerable sdtsfhh()
        {
            for (int i = ii.Length; --i >= 0; )
            {
                yield return ii[i];
            }
        }
    }
    class test
    {
        public static void Main()
        {
            IteratorDemo id = new IteratorDemo();
            foreach (int i in id)
            {
                Console.WriteLine(i);
            }
            foreach (int i in id.sdtsfhh())
            {
                Console.WriteLine(i);
            }
        }
    }