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。