Condividi tramite


about_Do

Breve descrizione

Esegue un elenco di istruzioni una o più volte, soggetto a una while condizione o until .

Descrizione lunga

La do parola chiave funziona con la while parola chiave o la until parola chiave per eseguire i comandi in un blocco di istruzioni, soggetto a una condizione. A differenza del ciclo correlato while , il blocco di istruzioni in un do ciclo viene sempre eseguito almeno una volta.

Un do/while ciclo è un'ampia gamma di while cicli. In un do/while ciclo, la condizione viene valutata dopo l'esecuzione del blocco di istruzioni. Come in un while ciclo, il blocco di istruzioni viene ripetuto finché la condizione restituisce true.

Come un do/while ciclo, un do/until ciclo viene sempre eseguito almeno una volta prima della valutazione della condizione. Tuttavia, il blocco di istruzioni viene eseguito solo mentre la condizione è false.

Le continue parole chiave di controllo del flusso e break possono essere usate in un do/while ciclo o in un do/until ciclo.

Sintassi

Di seguito è illustrata la sintassi dell'istruzione do/while :

do {<statement list>} while (<condition>)

Di seguito è illustrata la sintassi dell'istruzione do/until :

do {<statement list>} until (<condition>)

L'elenco di istruzioni contiene una o più istruzioni eseguite ogni volta che il ciclo viene immesso o ripetuto.

La parte della condizione dell'istruzione viene risolta in true o false. Per altre informazioni sulla valutazione dei valori booleani, vedere about_Booleans.

Esempio

Nell'esempio seguente di un'istruzione do vengono conteggiato gli elementi in una matrice fino a raggiungere un elemento con un valore pari a 0.

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

Nell'esempio seguente viene usata la until parola chiave . Si noti che l'operatore diverso da (-ne) viene sostituito dall'operatore uguale a (-eq).

PS> $x = 1,2,78,0
PS> do { $count++; $a++; } until ($x[$a] -eq 0)
PS> $count
3

Nell'esempio seguente vengono scritti tutti i valori di una matrice, ignorando qualsiasi valore minore di zero.

do {
  if ($x[$a] -lt 0) { continue }
  Write-Host $x[$a]
}
while (++$a -lt 10)

Vedere anche