迭代器———更锋利的C#代码小记(3)

直接使用yield return关键字通过类似返回值的方式灵活地构造迭代器

 public class EmployeeCollection :IEnumerable<Employee>
    {
        private Employee[] employees;
        #region IEnumerable<Employee>成员
        public IEnumerator<Employee> GetEnumerator()
        {
            foreach(Employee employee in employees)
            {
                yield return employee;
            }
        }
        #endregion
        #region IEnumerable成员
        IEnumerator IEnumerable.GetEnumerator()
        {
            return this.GetEnumerator();
        }
        #endregion

    }
View Code

 

posted @ 2016-09-13 17:05  Mydk  阅读(403)  评论(0)    收藏  举报