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.
Descrição curta
Executa uma lista de instruções uma ou mais vezes, sujeita a uma While condição or Until .
Descrição longa
A palavra-chave Do funciona com a palavra-chave While ou a palavra-chave Until para executar as instruções em um bloco de script, sujeito a uma condição. Ao contrário do loop de While relacionado, o bloco de script em um loop Do sempre é executado pelo menos uma vez.
Um loop de Do-While é uma variedade do loop de While. Em um loop de Do-While, a condição é avaliada após a execução do bloco de script. Como em um loop While, o bloco de script é repetido desde que a condição seja avaliada como true.
Como um loop de Do-While, um loop Do-Until sempre é executado pelo menos uma vez antes que a condição seja avaliada. No entanto, o bloco de script é executado somente enquanto a condição é falsa.
As palavras-chave de controle de fluxo de Continue e Break podem ser usadas em um loop de de de Tempo de Execução ou em um loop de de Do-Until.
Sintaxe
O seguinte mostra a sintaxe da instrução Do-While:
do {<statement list>} while (<condition>)
O seguinte mostra a sintaxe da instrução Do-Until:
do {<statement list>} until (<condition>)
A lista de instruções contém uma ou mais instruções que são executadas sempre que o loop é inserido ou repetido.
A parte da condição da instrução é resolvida como verdadeira ou falsa. Para obter mais informações sobre como os boolianos são avaliados, consulte about_Booleans.
Exemplo
O exemplo a seguir de uma instrução Do conta os itens em uma matriz até chegar a um item com um valor de 0.
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } while ($x[$a] -ne 0)
PS> $count
3
O exemplo a seguir usa a palavra-chave Until. Observe que o operador não igual a (-ne) é substituído pelo operador igual a (-eq).
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } until ($x[$a] -eq 0)
PS> $count
3
O exemplo a seguir grava todos os valores de uma matriz, ignorando qualquer valor menor que zero.
do {
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)