我想知道C#中的foreach循环遍历System.Collections.Generic.List<T>
对象的顺序。
我发现了关于同一主题的另一个问题,但是我认为它不能使我满意。
有人指出没有顺序被定义。但是正如其他人所述,它遍历数组的顺序是固定的(从0到Length-1)。8.8.4 foreach语句
也有人说,对于带有顺序的任何标准类(例如List<T>
)也是如此。我找不到任何文档来进行备份。因此,就我所知,它现在可能会像现在那样工作,但是也许在下一个.NET版本中,它会有所不同(即使可能不太可能)。
我也看了List(t).Enumerator
运气不好的文档。
另一个相关问题指出,对于Java,它在文档中特别提到:
List.iterator()
以正确的顺序返回此列表中元素的迭代器。”
我正在C#文档中寻找类似的内容。
提前致谢。
编辑:谢谢您为我提供的所有答案(令人惊奇的是我得到这么多回复的速度如此之快)。从所有答案中我了解到的是,List<T>
它始终会按其索引顺序进行迭代。但是我仍然希望看到一个清晰的文档说明这一点,类似于上的Java文档List
。