Compartilhar via


Sobre o Do

DESCRIÇÃO BREVE

Executa uma lista de instruções uma ou mais vezes, sujeita a uma condição While ou 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 While relacionado, o bloco de script em um loop Do sempre é executado pelo menos uma vez.

Um loop Do-While é uma variedade do loop 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 Continuar e Interromper podem ser usadas em um loop Do-While ou em um loop 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.

Exemplo

O exemplo a seguir de uma instrução Do conta os itens em uma matriz até atingir um item com um valor de 0.

C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } while ($x[$a] -ne 0)
C:\PS> $count
3

O exemplo a seguir usa a palavra-chave Tilover. Observe que o operador não igual a (-ne) é substituído pelo operador igual a (-eq).

C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } until ($x[$a] -eq 0)
C:\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)

VEJA TAMBÉM

sobre_While

about_Operators

about_Assignment_Operators

sobre_Operadores_de_Comparação

sobre_Interrupção

about_Continue