我可以使用严格按顺序遍历元素的List(T).ForEach()吗?

时间:2011-07-06 09:04:05

标签: c# .net linq generics foreach

List(T).ForEach()对列表的每个元素执行操作。但是,MSDN描述没有说明将遍历List元素的顺序,我需要严格按顺序遍历它们。

如何使用ForEach()实现这一目标?

3 个答案:

答案 0 :(得分:13)

List<T>.ForEach 与普通foreach循环的顺序相同,这也是列表的自然顺序。

是的,文档没有说明 - 但这是明显的行为,我认为依靠不改变是非常合理的。

(现在Parallel.ForEach是另一回事。)

答案 1 :(得分:2)

如果元素的顺序是必要的,我建议使用Queue<T>(LIFO)或Stack<T>(FIFO)来确保设计顺序。在这种情况下,您必须使用经典循环,而不是使用LINQ扩展方法或自己实现它。

答案 2 :(得分:1)

List<T>类表示有序的项集合,因此使用枚举器或ForEach方法进行迭代将保留顺序,即使文档不是很清楚此