- 此问题在此处已有答案**:
Can anyone explain IEnumerable and IEnumerator to me? [closed](16个答案)
9小时前关门了。
我想知道我们应该在哪里使用IEnumberable<T>
我知道IEnumerable<T>
是如何工作的,返回IEnumerator<T>
等等,但是IEnumerable<T>
的最终目标是从集合中查询数据,不是吗?这就是我们已经可以使用foreach()循环做的事情?那么什么时候使用IEnumerable<T>
?IEnumerable<T>
是查询集合的唯一选项的实际场景是什么?
1条答案
按热度按时间y4ekin9u1#
但是
IEnumerable<T>
的最终目标是查询集合中的数据,不是吗?不,
IEnumerable<T>
的目标是提供对一个 sequence 的访问,这个 * sequence * 可能是一个集合,也可能不是一个集合,其目的是 * 抽象 * 底层源代码,它 * 可能 * 是一个原始集合,但也可能是:collection.Where(...).Select(...)
等)如果你知道你总是在迭代一个集合,那么就确定:可随意使用混凝土类型,或
ICollection<T>
/IList<T>
等;但是:不是每个序列都是集合。