相关疑难解决方法(0)

每个循环的C#以什么顺序迭代List <T>?

我想知道C#中的foreach循环遍历一个System.Collections.Generic.List<T>对象的顺序.

我发现关于同一主题的另一个问题,但我觉得它不能满足我的问题.

有人说未定义任何订单.但正如其他人所说,它遍历数组的顺序是固定的(从0到长度-1).8.8.4 foreach声明

还有人说,对于任何带有订单的标准类(例如List<T>)也是如此.我找不到任何文件来支持这一点.所以我知道它现在可能会起作用,但也许在下一个.NET版本中它会有所不同(即使它可能不太可能).

List(t).Enumerator没有运气也查看了文档.

另一个相关问题表明,对于Java,它在文档中特别提到:

List.iterator()以适当的顺序返回此列表中元素的迭代器."

我在C#文档中寻找类似的东西.

提前致谢.

编辑:感谢所有人的所有答案(令人惊讶的是我收到了如此多的回复).我从所有答案中理解的是,List<T>它总是按照索引的顺序迭代.但我仍然希望看到明确的文档和平,说明这一点,类似于Java文档List.

c# foreach operator-precedence

76
推荐指数
3
解决办法
5万
查看次数

Java的foreach循环是否保留了顺序?

Java的foreach循环是从第一个对象开始,以线性方式工作到最后吗?例如

String[] names = new String[] {"Zoe", "Bob", "Charlie", "Alex"};
for(String name : names) {
  //do stuff...
}
Run Code Online (Sandbox Code Playgroud)

首先处理字符串"Zoe",然后是"Bob"等吗?没有排序?我自己测试了一下,但没有找到,但我需要保证,在文档中找不到任何东西.

java foreach

51
推荐指数
2
解决办法
3万
查看次数

标签 统计

foreach ×2

c# ×1

java ×1

operator-precedence ×1