Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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
| Período | Definição |
|---|---|
condition |
Obrigatório
Boolean expressão. Se condition for Nothing, o Visual Basic trata-o como False. |
statements |
Opcional. Uma ou mais instruções a seguir While, que são executadas sempre condition é 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 onde você testa a condição ou qual resultado você testa, você pode preferir o Do... Instrução Loop. Se você quiser repetir as instruções um determinado número de vezes, o ... Next Statement é geralmente uma escolha melhor.
Observação
A While palavra-chave também é usada no Do... Loop Statement, a cláusula skip while e a cláusula take while.
Se condition for True, toda a statements execução até que a End While instrução seja encontrada. Em seguida, Control While retorna à instrução e condition é novamente verificado. Se condition ainda Trueestiver, o processo é repetido. Se for , o Falsecontrole passa 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 é False quando você entra no loop pela primeira vez, ele não é executado nem uma vez.
O condition geralmente resulta de uma comparação de dois valores, mas pode ser qualquer expressão avaliada como um valor de Tipo de Dados Booleano (True ou False). Essa expressão pode incluir um valor de outro tipo de dados, como um tipo numérico, que foi convertido em Boolean.
Você pode aninhar While loops colocando um loop dentro de outro. Você também pode aninhar diferentes tipos de estruturas de controle umas nas outras. Para obter mais informações, consulte 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 se segue à End While declaração.
Você normalmente 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 detetar uma condição que torne desnecessário ou impossível continuar a iteração, como um valor incorreto ou uma solicitação de encerramento. Você pode usar Exit While quando testar uma condição que pode causar um loop infinito, 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 do While loop.
Quando usado em loops aninhados, Exit While transfere While 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 de continuação.
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 declaraçõ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 determina se o StreamReader 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