我想知道 C # 中 foreach 循环通过 System.Collections.Generic.List<T>
对象的顺序。
我发现 另一个问题是关于同一个主题的,但是我觉得它并没有给我满意的答案。
有人声明没有定义顺序。但是正如其他人所说,它遍历数组的顺序是固定的(从0到 Llength-1)。8.8.4 foreach 语句
还有人说,对于任何带有订单的标准类(例如 List<T>
)也是如此。我找不到任何文件来证明这一点。所以就我所知,现在可能是这样,但也许下一次就是了。NET 版本会有所不同(尽管可能不太可能)。
我还查看了 List(t).Enumerator
文档,但没有找到。
另一个相关的问题 指出,对于 Java,文档中特别提到:
List.iterator()
返回此列表中元素的迭代器 按照正确的顺序
我正在 C # 文档中寻找类似的东西。
先谢谢你。
编辑: 谢谢你们所有人的回答(我很惊讶这么快就收到了这么多的回复)。我从所有的答案中了解到的是,List<T>
总是按照它的索引顺序进行迭代。但我仍然希望看到一个明确的和平的文档说明这一点,类似于 关于 List
的 Java 文档。