代码改变世界

迭代器

2009-06-26 18:52  Peter Yao  阅读(349)  评论(1编辑  收藏  举报

很多人都想知道迭代器,那么迭代器究竟什么?怎样才能实现一个迭代器呢?

其实我想大家都知道数组,arraylist,这些其实变相地说都实现了一个迭代器,也就是IEnumerable!现在明白了点吧!

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;


namespace dsfsaf
{
    class PeterZhao:IEnumerable
    {
        private string[] m_Names;
        public PeterZhao(params string[] Names)
        {
            m_Names = new string[Names.Length];
            Names.CopyTo(m_Names, 0);
        }

        public IEnumerator GetEnumerator()
        {
            for (int i = 0; i < m_Names.Length; i++)
            {
                yield return this.m_Names[i];
            }
       
        }
    }
}

 

这样类PeterZhao就实现了一个跟数组差不多的功能!

现在对迭代器有些概念了吧!

当然这只是一个简单的实例,要是想探讨深入的问题,或者自己做的时候暴bug时,可以随时与我交流!

我是Peter,谢谢支持!