Compartilhar via


Instrução Continue (Visual Basic)

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

Continue { Do | For | While }

Comentários

Você pode transferir de dentro de um loop Do, For ou While para a próxima iteração daquele loop. O controle passa imediatamente para o teste de condição do loop, que é equivalente a transferir para a declaração For ou While , ou para a declaração Do ou Loop que contém a cláusula Until ou While .

Você pode usar Continue em qualquer posição no loop que permite transferências. As regras permitindo transferência de controle são as mesma que Instrução GoTo.

Por exemplo, se um loop está totalmente contido dentro de um bloco Try, um bloco Catch, ou um bloco Finally, você pode usar Continue para transferir para fora do loop. Se, por outro lado, a estrutura Try...End Try está contida dentro do loop, você não pode usar Continue para tranferir o controle para fora do bloco Finally , e você pode usar isso para transferir para fora de um bloco Try ou Catchsomente se você transferir completamente para fora da estrutura Try...End Try.

Se você tem loops aninhados do mesmo tipo, por exemplo um loop Do dentro de outro loop Do, uma declaração Continue Do ignora a próxima iteração do loop Do mais interno que a contém. Você pode usar Continue para ignorar a próxima iteração de um loop continente do mesmo tipo.

Se você tem loops aninhados de diferentes tipos , por exemplo um loop Do dentro de outro loop For, você pode pular a próxima iteração de qualquer um loop usando ou Continue Do ou Continue For.

Exemplo

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

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

Referência

Instrução Do...Loop (Visual Basic)

Instrução For...Next (Visual Basic)

Instrução While...End While (Visual Basic)

Instrução Try...Catch...Finally (Visual Basic)