Compartilhar via


Instrução Continue (Visual Basic)

Transfere o controle imediatamente para a próxima iteração de um loop.

Sintaxe

Continue { Do | For | While }  

Observações

Você pode transferir de dentro de um Do, Forou While loop para a próxima iteração desse loop. O controle passa imediatamente para o teste de condição de loop, que é equivalente à transferência para a instrução ou While para a Do instrução ou Loop que contém a Until cláusula ouWhile.For

Você pode usar Continue em qualquer local no loop que permita transferências. As regras que permitem a transferência de controle são as mesmas da Instrução GoTo.

Por exemplo, se um loop estiver totalmente contido em um Try bloco, um Catch bloco ou um Finally bloco, você poderá usar Continue para transferir para fora do loop. Se, por outro lado, a Tryestrutura ...End Try estiver contida no loop, você não poderá usar Continue para transferir o Finally controle para fora do bloco e poderá usá-lo para transferir de um Try ou Catch bloquear somente se você transferir completamente para fora da Tryestrutura ...End Try .

Se você tiver loops aninhados do mesmo tipo, por exemplo, um Do loop dentro de outro Do loop, uma Continue Do instrução pulará para a próxima iteração do loop mais interno Do que o contém. Você não pode usar Continue para pular para a próxima iteração de um loop contendo do mesmo tipo.

Se você tiver loops aninhados de tipos diferentes, por exemplo, um Do loop dentro de um For loop, poderá pular para a próxima iteração de um loop usando ou Continue DoContinue For.

Exemplo

O exemplo de código a seguir usa a Continue While instrução para pular para a próxima coluna de uma matriz se um divisor for zero. O Continue While está dentro de um For loop. Ele é transferido para a instrução While col < lastcol , que é a próxima iteração do loop mais interno While que contém o For loop.

Dim row, col As Integer
Dim lastrow As Integer = 6
Dim lastcol As Integer = 10
Dim a(,) As Double = New Double(lastrow, lastcol) {}
Dim b(7) As Double
row = -1
While row < lastrow
    row += 1
    col = -1
    While col < lastcol
        col += 1
        a(row, col) = 0
        For i As Integer = 0 To b.GetUpperBound(0)
            If b(i) = col Then
                Continue While
            Else
                a(row, col) += (row + b(i)) / (col - b(i))
            End If
        Next i
    End While
End While

Consulte também