Partilhar 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 a transferir para a For instrução or While ou ou para a Do instrução or Loop que contém a Until cláusula or While .

Você pode usar Continue em qualquer local no loop que permite transferências. As regras que permitem a transferência de controlo são as mesmas que com a Declaração GoTo.

Por exemplo, se um loop estiver totalmente contido dentro de um Try bloco, um Catch bloco ou um Finally bloco, você pode usar Continue para transferir para fora do loop. Se, por outro lado, a Tryestrutura ...End Try estiver contida dentro do loop, você não pode usar Continue para transferir o controle para fora do Finally bloco, e você pode usá-lo para transferir para fora de um Try ou Catch bloco 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 Do interno que o contém. Você não pode usar Continue para pular para a próxima iteração de um loop de contenção 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 qualquer loop usando um 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 While col < lastcol instrução, que é a próxima iteração do loop mais While interno 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