没有IEnumerable但有IEnumerator的生活

本文关键字:的生活 IEnumerator 但有 IEnumerable 没有 | 更新日期: 2023-09-27 18:19:46

可能重复:
有人能给我解释一下IEnumerable和IEnumerator吗
IEnumerator和IEnumerable之间有什么区别?

我们可以实现IEnumerator或其通用版本,从而直接使用它。

那么,为什么我们需要IEnumerable呢?我们是要求IEnumerable提供一组新的数据,还是其他数据!

没有IEnumerable但有IEnumerator的生活

IEnumerable指定类的一个方面:它"告诉"您哪些方面可以枚举。CCD_ 2由在枚举期间执行提供结果的实际工作的类来实现。这是两件不同的事情。

换句话说:

  • 我们需要IEnumerable来表示"这个类包含可枚举数据"
  • 我们需要IEnumerator,这样在我们确定一个对象可以被枚举之后,我们可以告诉它"开始一个接一个地给我该对象中的数据"

您可以在没有IEnumerable的情况下实现IEnumerator。实现IEnumerable需要实现IEnumerator,但不能相反。

使用IEnumerable,您可以获得foreach的语法糖果。