Como: Executar várias instruções repetidamente

Você pode usar estruturas loop para executar um bloco de instruções repetidamente.O loop pode executar um número indeterminado de vezes, dependendo do valor Boolean de uma condição, ou para um determinado número de vezes controlada por uma variável especial.

Loop com um número indeterminado de vezes

Para executar um grupo de instruções enquanto uma condição for verdadeira

  • Use o While... participante While demonstrativo (Visual Basic) para especificar a condição que controla a repetição do loop.O exemplo a seguir repete o bloco de declaração, desde que number seja maior que 6.

    Sub checkWhile()
        Dim counter As Integer = 0
        Dim number As Integer = 10
        While number > 6
            number -= 1
            counter += 1
        End While
        MsgBox("The loop ran " & counter & " times.")
    End Sub
    

    A instrução While sempre verifica a condição antes que ela comece o loop.Se number tivesse sido inicializado para 6 em vez de 10, as instruções dentro do loop nunca executaria.

Para executar um grupo de instruções enquanto uma condição permanece True

  • Use o Declaração Do...Loop (Visual Basic) e especifique a condição de teste ou no início ou no final do loop.O posicionamento da palavra-chave Ao mesmo tempo (Visual Basic) determina onde a condição é testada.O exemplo a seguir ilustra isto:

    Sub checkWhileFirst()
        Dim counter As Integer = 0
        Dim number As Integer = 10
        Do While number > 6
            number -= 1
            counter += 1
        Loop
        MsgBox("The loop ran " & counter & " times.")
    End Sub
    Sub checkWhileLast()
        Dim counter As Integer = 0
        Dim number As Integer = 5
        Do
            number -= 1
            counter += 1
        Loop While number > 6
        MsgBox("The loop ran " & counter & " times.")
    End Sub
    

    No exemplo anterior, o primeiro loop Do é executado quatro vezes e o segundo loop Do é executado uma vez.

Para executar um grupo de instruções até que uma condição se torne True

  • Use a construção Do... Loop com a palavra-chaveAté em vez de While.Como com While, o posicionamento da palavra-chave determina onde a condição é testada.O exemplo a seguir ilustra isto:

    Sub checkUntilFirst()
        Dim counter As Integer = 0
        Dim number As Integer = 20
        Do Until number = 15
            number -= 1
            counter += 1
        Loop
        MsgBox("The loop ran " & counter & " times.")
    End Sub
    Sub checkUntilLast()
        Dim counter As Integer = 0
        Dim number As Integer = 20
        Do
            number -= 1
            counter += 1
        Loop Until number = 15
        MsgBox("The loop ran " & counter & " times.")
    End Sub
    

    No exemplo anterior, cada loop Do é executado cinco vezes.

Loop com um número definido de vezes

Loops While e Do trabalham bem quando você não sabe com antecedência quantas vezes você precise executar as instruções em um loop.No entanto, quando você pretende executar o loop um número específico de vezes, o For... Next demonstrativo (Visual Basic) é uma opção melhor.Ao contrário de um loop While ou Do, um loop For... Next usa um variável de controle que aumenta ou diminui no valor durante cada repetição do loop.

Para executar um grupo de instruções por um número definido de vezes

  1. Determine os valores inicial e final da variável de controle e use a instrução For para especificá-los.

    For i As Integer = 1 To 10
    

    Se a variável de controle é não declarada fora do loop, você pode usar a cláusula As para declará-la como parte da instrução For .

  2. Use a palavra-chave Por Etapa para indicar a quantidade que a variável de controle deve aumentar a cada iteração.Ela aumenta em 1, a menos que você especifique o contrário.Use um valor negativo para fazer com que a variável de controle diminua.

    For i As Integer = 10 To 1 Step -1
    
  3. Complete a construção For. .. Next com uma instrução Next após a última instrução a ser repetida.Você pode especificar a variável de controle na instrução Next.

    Function addBackward(ByVal highest As Integer) As Integer
        Dim total As Integer = 0
        For i As Integer = highest To 1 Step -1
            total += i
        Next i
        Return total
    End Function
    

    O exemplo anterior retorna a soma de todos os números inteiros de 1 até o valor passado para o parâmetro highest.

Consulte também

Tarefas

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

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

Como: Melhore o desempenho de um loop

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

Conceitos

Estruturas de Decisão

Estruturas de loop

Outras estruturas de controle

Estruturas de controle aninhadas

Referência

For each... Next demonstrativo (Visual Basic)

Outros recursos

Fluxo de controle no Visual Basic