C# 中 IEnumerator 和 IEnumerable 接口的区别

csharpprogrammingserver side programming

IEnumerable 和 IEnumerator 都是 C# 中的接口。

IEnumerable 是一个接口,它定义了一个方法 GetEnumerator(),该方法返回一个 IEnumerator 接口。

这适用于对实现该 IEnumerable 的集合的只读访问,可以将其与 foreach 语句一起使用。

IEnumerator 有两种方法 MoveNext 和 Reset。它还有一个名为 Current 的属性。

以下显示了 IEnumerable 和 IEnumerator 的实现。

示例

class Demo : IEnumerable, IEnumerator {
   // IEnumerable method GetEnumerator()
   IEnumerator IEnumerable.GetEnumerator() {
      throw new NotImplementedException();
   }
   public object Current {
      get { throw new NotImplementedException(); }
   }
   // IEnumerator 方法
   public bool MoveNext() {
      throw new NotImplementedException();
   }
   // IEnumerator 方法
      public void Reset() {
      throw new NotImplementedException();
   }
}

Above you can see the two methods of IEnumerator.

// IEnumerator 方法
public bool MoveNext() {
   throw new NotImplementedException();
}

// IEnumerator 方法
public void Reset() {
   throw new NotImplementedException();
}

相关文章