迭代器在.net中的应用

//迭代器的定义

 public class MyCollection:System.Collections.IEnumerable

    {
        string[] item = {"CCC","AAAA","BBBB","DDDDD" };
        public IEnumerator GetEnumerator()
        {
            for (int i = 0; i < item.Count(); i++)
            {
                yield return item[i];
            }
        }
    }
  

    //应用
    MyCollection mc = new MyCollection();
    foreach (var v in mc)
    {
        MessageBox.Show(v.ToString());

    }

//继承System.Collections.IEnumerable编译器回自动添加

//moveNext()、reset()、current()、等

//迭代器的应用在于foreach,在编译器层面上是个语法糖,最终编译的结果是

do while(item.movenext())

{

.......

}

原文地址:https://www.cnblogs.com/kuailewangzi1212/p/1285566.html