Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Executa uma série de instruções desde que uma determinada condição seja True.
Sintaxe
While condition
[ statements ]
[ Continue While ]
[ statements ]
[ Exit While ]
[ statements ]
End While
Partes
| Prazo | Definição |
|---|---|
condition |
Obrigatório
Boolean expressão. Se condition for Nothing, o Visual Basic o trata como False. |
statements |
Opcional. Uma ou mais instruções a seguirWhile, que são executadas semprecondition.True |
Continue While |
Opcional. Transfere o controle para a próxima iteração do While bloco. |
Exit While |
Opcional. Transfere o controle para fora do While bloco. |
End While |
Obrigatório Encerra a definição do While bloco. |
Observações
Use uma While...End While estrutura quando quiser repetir um conjunto de instruções um número indefinido de vezes, desde que uma condição permaneça True. Se você quiser mais flexibilidade com o local em que testa a condição ou para qual resultado a testa, talvez prefira o Do... Instrução Loop. Se você quiser repetir as instruções um número definido de vezes, o For... A próxima instrução geralmente é uma opção melhor.
Observação
A While palavra-chave também é usada no Do... Instrução Loop, a cláusula Skip While e a cláusula Take While.
Se condition for True, toda a execução statements até que a End While instrução seja encontrada. Em seguida, o controle retorna à instrução While e condition é novamente verificado. Se condition ainda Trueestiver, o processo será repetido. Se for False, o controle passará para a instrução que segue a End While instrução.
A While instrução sempre verifica a condição antes de iniciar o loop. O looping continua enquanto a condição permanece True. Se condition for False quando você insere o loop pela primeira vez, ele não é executado nem uma vez.
Geralmente condition , resulta de uma comparação de dois valores, mas pode ser qualquer expressão que seja avaliada como um valor de Tipo de Dados Booliano (True ou False). Essa expressão pode incluir um valor de outro tipo de dados, como um tipo numérico, que foi convertido Booleanem .
Você pode aninhar While loops colocando um loop dentro de outro. Você também pode aninhar diferentes tipos de estruturas de controle entre si. Para obter mais informações, confira Estruturas de controle aninhadas.
Sair enquanto
A instrução Exit While pode fornecer outra maneira de sair de um While loop.
Exit While transfere imediatamente o controle para a instrução que segue a End While instrução.
Normalmente, você usa Exit While depois que alguma condição é avaliada (por exemplo, em uma If...Then...Else estrutura). Talvez você queira sair de um loop se detectar uma condição que torne desnecessário ou impossível continuar iterando, como um valor incorreto ou uma solicitação de encerramento. Você pode usar Exit While quando testa uma condição que pode causar um loop sem fim, que é um loop que pode ser executado um número extremamente grande ou até infinito de vezes. Em seguida, você pode usar Exit While para escapar do loop.
Você pode colocar qualquer número de Exit While instruções em qualquer lugar no While loop.
Quando usado em loops aninhados While , Exit While transfere o controle para fora do loop mais interno e para o próximo nível mais alto de aninhamento.
A Continue While instrução transfere imediatamente o controle para a próxima iteração do loop. Para obter mais informações, consulte Declaração Continue.
Exemplo 1
No exemplo a seguir, as instruções no loop continuam a ser executadas até que a index variável seja maior que 10.
Dim index As Integer = 0
While index <= 10
Debug.Write(index.ToString & " ")
index += 1
End While
Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10
Exemplo 2
O exemplo a seguir ilustra o uso das instruções Continue While e Exit While.
Dim index As Integer = 0
While index < 100000
index += 1
' If index is between 5 and 7, continue
' with the next iteration.
If index >= 5 And index <= 8 Then
Continue While
End If
' Display the index.
Debug.Write(index.ToString & " ")
' If index is 10, exit the loop.
If index = 10 Then
Exit While
End If
End While
Debug.WriteLine("")
' Output: 1 2 3 4 9 10
Exemplo 3
O exemplo a seguir lê todas as linhas em um arquivo de texto. O OpenText método abre o arquivo e retorna um StreamReader que lê os caracteres.
While Na condição, o Peek método do StreamReader determina se o arquivo contém caracteres adicionais.
Private Sub ShowText(ByVal textFilePath As String)
If System.IO.File.Exists(textFilePath) = False Then
Debug.WriteLine("File Not Found: " & textFilePath)
Else
Dim sr As System.IO.StreamReader = System.IO.File.OpenText(textFilePath)
While sr.Peek() >= 0
Debug.WriteLine(sr.ReadLine())
End While
sr.Close()
End If
End Sub