VB.NET – 如何移动到下一个项目为每个循环?
是否有像Exit For
这样的语句,除了退出循环,它只是移动到下一个项目。
例如:
For Each I As Item In Items If I = x Then ' Move to next item End If ' Do something Next
我知道可以简单地将一个Else
添加到If语句中,所以它将如下所示:
For Each I As Item In Items If I = x Then ' Move to next item Else ' Do something End If Next
只是想知道是否有办法跳转到Items
列表中的下一个项目。 我相信大多数人会正确地问为什么不只是使用Else
语句,但是对于包装“Do Something”代码似乎不太可读的代码。 特别是当有更多的代码。
For Each I As Item In Items If I = x Then Continue For ' Do something Next
我会使用Continue
语句:
For Each I As Item In Items If I = x Then Continue For End If ' Do something Next
请注意,这与移动迭代器本身略有不同 – 在If
之前的任何事情将被再次执行。 通常这是你想要的,但是如果没有,你将不得不使用GetEnumerator()
,然后MoveNext()
/ Current
而不是使用For Each
循环。
关于什么:
If Not I = x Then ' Do something ' End If ' Move to next item '
我想清楚下面的代码是不是很好的做法。 您可以使用GOTO标签:
For Each I As Item In Items If I = x Then 'Move to next item GOTO Label1 End If ' Do something Label1: Next
当我尝试Continue For
它失败,我有一个编译器错误。 在这样做的时候,我发现了“简历”:
For Each I As Item In Items If I = x Then 'Move to next item Resume Next End If 'Do something Next
注意:我在这里使用VBA。