在C#中使用迭代器创建Enumerable或Enumerator有什么区别? 我知道Iterators用于创建一个实现Enumerable或Enumerator的私有类......
创建可枚举类型哪种方式更好?
答案 0 :(得分:4)
实现IEnumerable
接口的每个类型都应该实现一个方法GetEnumerator
,该方法返回一个实现IEnumerator
接口的类型。然后有一个枚举器,你可以使用foreach
语句,它本质上实现iterator
模式,遍历自定义类型集合的元素。
如需进一步说明,请查看以下链接:
因此,为了回答您的问题,我必须说我们不应该尝试比较IEnumerable
和IEnumerator
。当我们想要将迭代器模式用于自定义类型时,它们一起使用。