IEnumerator和IEnumerable接口在C#中的区别
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(); }
   }
   //IEnumertor方法
   public bool MoveNext() {
      throw new NotImplementedException();
   }
   //IEnumertor方法
      public void Reset() {
      throw new NotImplementedException();
   }
}在上面可以看到IEnumerator的两种方法。
//IEnumertor方法
public bool MoveNext() {
   throw new NotImplementedException();
}
//IEnumertor方法
public void Reset() {
   throw new NotImplementedException();
}