c#2.0迭带器----yield return关键字

来源:互联网 发布:淘宝图片护盾从哪进? 编辑:程序博客网 时间:2024/06/05 13:29

http://2sws.blog.163.com/blog/static/179102492009843454697/

 

///c#2.0迭带器
///yield return关键字
///C#2.0引入了yield Return 关键字,用于无缝实现迭代器模式。
///它使开发人员摆脱了实现枚举器和可枚举类的负担。下面是我
///们前边例子的重写版本
///
public class Persons : System.Collections.IEnumerable
{

    string[] m_Names;

    public Persons(params string[] names)
    {
        m_Names = new string[names.Length];
        names.CopyTo(m_Names, 0);
    }

    #region IEnumerable 成员

    public System.Collections.IEnumerator GetEnumerator()
    {
        foreach (string s in m_Names)
        {
            yield return s;
        }
    }

    #endregion
}

class program
{
    static void Main()
    {
        Persons arrPersons = new Persons("1","2","3","4","5");

        foreach (string s in arrPersons)
        {
            System.Console.WriteLine(s);
        }
    }
}