一个迭代器的示例
public class Weeks : System.Collections.IEnumerable { private string[] _weeks = new string[] { "", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; #region IEnumerable 成员 System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { foreach (string str in _weeks) { yield return str; //yield 关键字用于指定返回的一个或多个值。到达 yield return 语句时,会保存当前位置。下次调用迭代器时将从此位置重新开始执行。 } } #endregion }
-- From Bndy.Net