簡體   English   中英

我可以擁有嚴格按順序遍歷元素的 List(T).ForEach() 嗎?

[英]Can I have List(T).ForEach() that traverses elements strictly in order?

List(T).ForEach()對列表的每個元素執行操作。 但是 MSDN 描述沒有說明遍歷List元素的順序,我需要嚴格按順序遍歷它們。

如何使用ForEach()實現這一目標?

List<T>.ForEach .ForEachgo 以與正常foreach循環相同的順序,這也是列表的自然順序。

是的,文檔沒有 state 它 - 但這是顯而易見的行為,我認為依靠它不改變是非常合理的。

(當然,現在Parallel.ForEach是另一回事。)

如果元素的順序很重要,我建議使用Queue<T> (LIFO) 或Stack<T> (FIFO) 來確保按設計順序排列。 在這種情況下,您必須使用經典循環而不是使用 LINQ 擴展方法或自己實現它。

List<T> class 表示項目的有序集合,因此使用枚舉器或ForEach方法對其進行迭代保留順序,即使文檔對此不是很清楚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM