C / C ++'继续'在VB6中等效

时间:2009-05-06 18:46:59

标签: c vb6

是否存在与C / C ++'continue'关键字相当的VB6?

在C / C ++中,命令'continue'开始循环的下一次迭代。

当然,存在其他等价物。我可以将循环的剩余代码放在if语句中。或者,我可以使用goto。 (唉!)

4 个答案:

答案 0 :(得分:20)

VB6中没有等效项,但VB的后续版本确实引入了这个关键字。本文有一个更深入的解释:http://vbnotebookfor.net/2007/06/04/the-continue-statement/

也许您可以重构代码以添加if语句或让循环调用可以返回的函数。

答案 1 :(得分:7)

VB6没有循环的continue语句。你必须使用goto,if或其他循环来模拟它。

//VB.net
do
    if condition then continue do
    ...
loop
//VB6 equivalent (goto)
do
    if condition then goto continue_do
    ...
continue_do:
loop
//VB6 equivalent (if)
do
    if not condition then
        ...
    endif
loop

你不能在VB6中使用“exit while”。但你可以使用转到。

While condition

    if should_skip then goto mycontinue

    'code

    if should_break then goto outloop

   mycontinue:

Wend

outloop:

答案 2 :(得分:6)

可悲的是,如果VB6没有继续 - 我认为这是VB 2005中的新功能。

我不会总是害怕goto语句 - 这实际上是继续是什么,但是在循环之后不需要标记的行。只要你的goto语句没有跳得很远,它们将始终是可读的,并且它可能是解决这个问题的最优雅的解决方案。

在for循环中嵌入另一个if / then / else实际上比一个简单的goto更好地阅读和维护(在goto行上注释说“'read as Continue For”)。

祝你好运!

答案 3 :(得分:2)

我是个白痴:P谢谢MarkJ

   For index As Integer = 1 To 10
        If  index=9 Then
            Continue For
        End If
   'some cool code'
    Next

对于.net不抱歉。  我认为你必须使用goto,我知道使用继续看起来“更干净”但是使用if路线没有任何问题。

错误。

 Continue:
     For index As Integer = 1 To 10
                If index=9 Then
                  GoTo Continue
                End If
    'some cool code'
     Next

校正(?)

     For index = 1 To 10
      If index=9 Then
       GoTo Continue 
      End If    
    'some cool code'
Continue:
     Next

讨厌vb