.net如何确定"foreach"循环的顺序?

Dan*_*don 1 .net collections foreach

当我foreach在C#.net中使用该语句时,.net如何确定处理集合中元素的顺序?

Ree*_*sey 10

当您使用时foreach,实现IEnumerableIEnumerable<T>"迭代" 的对象.订单由对象的实现决定IEnumerable.

任何类都可以自定义发生这种情况的顺序.List<T>例如,a ,它在列表的顺序中(按索引).但是,有些类例如Dictionary<T,U>根本不保证订单 - 只是每个项目都会被枚举一次,因为在这种情况下提供订购保证会严重妨碍性能.