当我们使用For Each时,我们可以在循环中跟踪我们的迭代吗?我喜欢使用 For Each 循环来遍历我的对象,但我似乎无法找到一种方法来保持我在循环中所处位置的索引。当然,除非我创建自己的...
user2379049
问问题
13966 次
3 回答
4
如果您想拥有索引,请使用For
-loop 而不是For each
. 这就是它存在的原因。
For i As Int32 = 0 To objects.Count - 1
Dim obj = objects(i)
Next
当然,没有什么能阻止您创建自己的计数器:
Dim counter As Int32 = 0
For Each obj In objects
counter += 1
Next
或者你可以使用 Linq:
Dim query = objects.Select(Function(obj, index) "Index is:" & index)
于 2013-05-13T20:23:43.177 回答
0
你可以这样做:
Dim index as integer = 0
For Each item in list
'do stuff
index += 1
Next
当然,根据您迭代的集合,不能保证item
与 相同list.item(index)
,但是否重要取决于您在做什么。
For index as integer = 0 to list.count - 1
Dim item = list.item(index)
'do stuff
Next
如果您需要item
与list.item(index)
.
于 2013-05-13T20:21:21.963 回答