Compartilhar via


Como: Pular para a próxima iteração de um loop e Continuar declaração (Visual Basic).

Se você tiver concluído o processamento para a iteração corrente de um Do, For, ou While loop, você pode ignorar imediatamente para a próxima iteração por meio de um Declaração Continue (Visual Basic).

Pulando para a próxima iteração

Para ignorar para a próxima iteração de um loop for... Next

  1. gravar the For... Next loop da maneira normal.

  2. Use Continue For em qualquer lugar que você deseja terminar a iteração corrente e passe imediatamente para a próxima iteração.

    Public Function findLargestRatio(ByVal high() As Double, _
        ByVal low() As Double) As Double
        Dim ratio As Double
        Dim largestRatio As Double = Double.MinValue
        For counter As Integer = 0 To low.GetUpperBound(0)
            If Math.Abs(low(counter)) < System.Double.Epsilon _
                Then Continue For 
            ratio = high(counter) / low(counter)
            If Double.IsInfinity(ratio) OrElse Double.IsNaN(ratio) _
                Then Continue For 
            If ratio > largestRatio Then largestRatio = ratio
        Next counter
        Return largestRatio
    End Function
    

Ignorando de dentro de um loop aninhado

Se você tiver Do, For, ou While loops aninhados um dentro de outra, você pode ignorar imediatamente para a próxima iteração de qualquer nível de aninhamento. Isso ocorre somente, no entanto, quando os loops são de tipos diferentes.Se tiver aninhado loops do mesmo tipo, por exemplo aninhados While loops, Continue While pulará para a próxima iteração do interno While loop.

Para ignorar para a próxima iteração de um loop de dentro de um aninhados loop for

  1. gravar os loops aninhados da maneira normal.

  2. Use Continue Do em qualquer lugar que você deseja terminar a iteração corrente do interno For loop e vá para a próxima iteração do externo Do loop.

    Public Sub divideElements(ByRef matrix(,) As Double)
        Dim i As Integer = -1
        Do Until i > matrix.GetUpperBound(0)
            i += 1
            For j As Integer = 0 To matrix.GetUpperBound(1)
                If matrix(j, j) = 0 Then Continue Do 
                matrix(i, j) /= matrix(j, j)
            Next j
        Loop 
    End Sub
    

Consulte também

Tarefas

Como: transferência controle fora de uma estrutura de controle

Como: Executar várias instruções repetidamente

Como: Executar várias instruções para cada elemento em uma coleção ou matriz

Como: Melhore o desempenho de um loop

Conceitos

Estruturas de loop

Estruturas de controle aninhadas

Referência

While... participante While demonstrativo (Visual Basic)

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

For... Next demonstrativo (Visual Basic)

Outros recursos

Fluxo de controle no Visual Basic