簡體   English   中英

.net如何確定“ foreach”循環的順序?

[英]How does .net determine the order for the “foreach” loop?

當我在C#.net中使用foreach語句時,.net如何確定以什么順序處理集合中的元素?

當使用foreach ,實現IEnumerableIEnumerable<T>的對象被“迭代”。 順序由對象的IEnumerable實現確定。

任何類都可以自定義發生的順序。 例如,使用List<T> ,它以列表的順序(按索引)排列。 但是,某些類(例如Dictionary<T,U>根本無法保證順序-只能逐項枚舉每個項目,因為在這種情況下提供順序保證會極大地影響性能。

它使用IEnumerable和IEnumerator接口。 它們一個接一個地提供值,因此.Net不必在乎順序。 它按照交付時的順序處理這些值。

暫無
暫無

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

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