【问题标题】:Does For Each acting on a List always visit elements in the same order?For Each 作用于 List 是否总是以相同的顺序访问元素?
【发布时间】:2011-05-05 08:22:00
【问题描述】:

myList 中的元素是否总是以相同的顺序访问 For Each 循环(假设我不更改列表)?

Dim myList As New List(Of MyElement)

....

For Each myElem As MyElement In myList

    ' yadda yadda yadda

Next

【问题讨论】:

    标签: vb.net list foreach


    【解决方案1】:

    是的,它们将始终按自然列表顺序排列。

    For Each 基本上是一个围绕调用 GetEnumerator()/MoveNext()/Current 的语言构造函数,因此排序取决于 List(Of T) 类 - 它确实保留了排序。

    举一个对比的例子,如果您在 Dictionary(Of TKey, Of TValue) 中迭代键/值对,则顺序保证,并且允许添加或删除一个条目来更改整个排序.

    【讨论】:

      猜你喜欢
      • 2012-09-11
      • 2012-11-29
      • 2016-01-06
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 2014-02-27
      • 2023-04-11
      • 2016-06-07
      相关资源
      最近更新 更多