c# - 无法将带有 [] 的索引应用于类型为“System.Collections.Generic.IEnumerable<>”的表达式

标签 c# list generics ienumerable

是否有任何特定原因导致 IEnumerable 中不允许索引。

我找到了解决我遇到的问题的方法,但只是想知道为什么它不允许索引。

谢谢,

最佳答案

因为不是。

IList 涵盖了索引。 IEnumerable 表示“我拥有 IList 的部分功能,但不是全部。”

有些集合(如链表)无法以实用的方式进行索引。但是可以逐项访问它们。 IEnumerable 专为此类集合而设计。请注意,集合可以同时实现 IList 和 IEnumerable(以及许多其他)。您通常只会找到 IEnumerable 作为函数参数,这意味着该函数可以接受任何类型的集合,因为它需要的只是最简单的访问方式。

关于c# - 无法将带有 [] 的索引应用于类型为“System.Collections.Generic.IEnumerable<>”的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3612721/

相关文章:

python - python如何在LHS上做列表切片和修改?

相同类型的 Java 泛型约束

c# - 在 LlblGenPro 中合并实体的标准方法

c# - roslyn 编译器未使用 msbuild 复制到 AspnetCompileMerge 文件夹

c# - DataGridView 列自动调整宽度和可调整大小

generics - 使用泛型关联类型时,如何指示类型参数上的生存期约束?

java - 具有递归类型参数的泛型类型以及抽象 self 方法如何允许方法链正常工作?

c# - 如何使用 C#.NET(4) 明智地拆分 word 文件页面并打开 xml sdk 2.0?

python - 当另一列的列表包含特定值时返回 pandas df 的列

python - 无论 Python 中的顺序如何,计算元组列表中唯一元素的数量