3.4.3 一个完整的泛型枚举---从0枚举到9
class CountingEnumerable : IEnumerable<int> { #region IEnumerable<int> 成员 public IEnumerator<int> GetEnumerator() { return new CountingEnumerator(); } #endregion #region IEnumerable 成员 IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } #endregion } class CountingEnumerator : IEnumerator<int> { int current = -1; public bool MoveNext() { current++; return current < 10; } public int Current { get { return current; } } object IEnumerator.Current { get { return Current; } } public void Reset() { current = -1; } public void Dispose() { } } class Program { static void Main(string[] args) { CountingEnumerable counter = new CountingEnumerable(); foreach (int x in counter) { Console.WriteLine(x); } } }