在 vb 中使用 for each 循环时,有没有办法从零以外的索引开始?
尝试时收到错误“输入字符串格式不正确”:
For Each segment As String in p
If not p(0) Then
您可以使用 LINQ 的Enumerable.Skip 方法在迭代之前减少您的列表:
For Each segment As String in p.Skip(1)
...
Next
for each
我认为您误解了循环和循环之间的区别for
。
for each
将遍历数组中的每个元素
for
将遍历数组的索引
for i = 0 to p.size //change 0 to the index you want to start
p(i)
...
next
要获得比 Skip 方法更具体的方法,您可以编写一个 lambda,它只调用在某些条件下传递给它的函数。
lambda 会像 foreach 循环一样进行枚举,但也会调用作为参数传递给它的委托来检查条件。
假设p
有索引器,如Array
orIList
For i As Integer = 1 To p.Count - 1
p(i)
Next
这假设您使用的是标准Option Base 0
这将跳过第一个元素,
for each segment as string in p.Skip(1)
. . . .
next
如果你想跳过前 5 个元素. . . in p.Skip(5)