List(T).ForEach()
对列表的每个元素执行操作。但是,MSDN描述没有说明将遍历List
元素的顺序,我需要严格按顺序遍历它们。
如何使用ForEach()
实现这一目标?
答案 0 :(得分:13)
List<T>.ForEach
将与普通foreach
循环的顺序相同,这也是列表的自然顺序。
是的,文档没有说明 - 但这是明显的行为,我认为依靠不改变是非常合理的。
(现在Parallel.ForEach
是另一回事。)
答案 1 :(得分:2)
如果元素的顺序是必要的,我建议使用Queue<T>
(LIFO)或Stack<T>
(FIFO)来确保设计顺序。在这种情况下,您必须使用经典循环,而不是使用LINQ扩展方法或自己实现它。
答案 2 :(得分:1)
List<T>
类表示有序的项集合,因此使用枚举器或ForEach
方法进行迭代将保留顺序,即使文档不是很清楚此