一个斐波那契数列的迭代生成器 /// <summary> /// 斐波那契数列 /// </summary> public class FibonacciList : IEnumerable<int> { #region IEnumerable<int> 成员 public IEnumerator<int> GetEnumerator() { yield return 0; yield return 1; int last0 = 0, last1 = 1, current; while (true) { current = last0 + last1; yield return current; last0 = last1; last1 = current; } } #endregion #region IEnumerable 成员 IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } #endregion } 使用 static void Main(string[] args) { FibonacciList test = new FibonacciList(); foreach (int i in test) { Console.Write(i.ToString() + " "); //截断,不然会无限下去 if (i > 100000) break; } }