【发布时间】:2016-01-06 00:25:44
【问题描述】:
如果我将项目添加到 List(Of T),然后使用 For Each 对其进行迭代,是否可以保证以与添加顺序相同的顺序访问它们?
或者就此而言,它们是否添加在与添加顺序相关的索引处? (即在索引 0 处添加的第一个对象,在索引 1 处添加第二个对象,依此类推)
例如:下面的代码是否可以保证从两个循环中打印输出“0 1 2”?
Private MyList As New List(Of Integer)
MyList.Add(New Integer(0))
MyList.Add(New Integer(1))
MyList.Add(New Integer(2))
For Each n As Integer In MyList
Console.Write(n.ToString & " ")
Next
For i As Integer = 0 To MyList.Count - 1
Console.Write(MyList(i).ToString & " ")
Next
编辑:感谢您指出此问题的第一部分已由In what order does a C# for each loop iterate over a List<T>?
回答但是,第二部分进一步限定了这个问题。链接的问题指出是的,For Each 从索引0 迭代到索引count - 1。但是 .Add() 方法是否总是在下一个未使用的最高索引处添加?
【问题讨论】:
标签: vb.net list foreach vb.net-2010