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

Se você concluiu o processamento para a iteração atual de um Do, For, ou Whileoloop, você pode ignorar imediatamente para a próxima iteração usando 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 loop

  1. Escrever o For...Nextoloop no modo normal.

  2. Use Continue For em qualquer lugar em que você deseja terminar a iteração atual e continuar 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 a partir de um Loop aninhado

Se você tiver Do, For, ou While loops aninhados um dentro de outro, você pode ignorar imediatamente para a próxima iteração de qualquer nível de aninhamento. Isso é válido apenas, no entanto, quando os loops são de tipos diferentes. Se você 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 um aninhadas para loop

  1. Nested loops de gravação da maneira normal.

  2. Use Continue Do em qualquer lugar que você deseja terminar a iteração atual do interno Fordeloop e ignorar para a próxima iteração do externo Doloop.

    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: Transferir controle para fora de uma estrutura de controle (Visual Basic)

Como: Executar várias instruções repetidamente (Visual Basic)

Como: executar várias instruções para cada elemento de uma coleção ou matriz (Visual Basic)

Como: Melhorar o desempenho de um loop (Visual Basic)

Referência

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

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

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

Conceitos

Estruturas de loop (Visual Basic)

Estruturas de controle aninhado (Visual Basic)

Outros recursos

Fluxo de controle no Visual Basic