使用C#中的迭代器创建Enumerable或Enumerator之间的区别

时间:2014-02-24 11:04:58

标签: c# ienumerable ienumerator

在C#中使用迭代器创建Enumerable或Enumerator有什么区别? 我知道Iterators用于创建一个实现Enumerable或Enumerator的私有类......

创建可枚举类型哪种方式更好?

1 个答案:

答案 0 :(得分:4)

实现IEnumerable接口的每个类型都应该实现一个方法GetEnumerator,该方法返回一个实现IEnumerator接口的类型。然后有一个枚举器,你可以使用foreach语句,它本质上实现iterator模式,遍历自定义类型集合的元素。

如需进一步说明,请查看以下链接:

  1. IEnumerable
  2. IEnumerator
  3. Iterator Pattern
  4. 因此,为了回答您的问题,我必须说我们不应该尝试比较IEnumerableIEnumerator。当我们想要将迭代器模式用于自定义类型时,它们一起使用。