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
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 .
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
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 controle aninhadas
Referência
For each... Next demonstrativo (Visual Basic)