是否有任何特定原因导致 IEnumerable 中不允许索引。
我找到了解决我遇到的问题的方法,但只是想知道为什么它不允许索引。
谢谢,
最佳答案
因为不是。
IList
涵盖了索引。 IEnumerable
表示“我拥有 IList 的部分功能,但不是全部。”
有些集合(如链表)无法以实用的方式进行索引。但是可以逐项访问它们。 IEnumerable
专为此类集合而设计。请注意,集合可以同时实现 IList 和 IEnumerable(以及许多其他)。您通常只会找到 IEnumerable
作为函数参数,这意味着该函数可以接受任何类型的集合,因为它需要的只是最简单的访问方式。
关于c# - 无法将带有 [] 的索引应用于类型为“System.Collections.Generic.IEnumerable<>”的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3612721/