Informationen zu Do
KURZE BESCHREIBUNG
Führt eine Anweisungsliste ein oder mehrere Male aus, vorbehaltlich einer While- oder Until-Bedingung.
LANGE BESCHREIBUNG
Die Do Schlüsselwort (keyword) funktioniert mit dem While Schlüsselwort (keyword) oder Until Schlüsselwort (keyword), um die Anweisungen in einem Skriptblock auszuführen, sofern eine Bedingung erfüllt ist. Im Gegensatz zur zugehörigen While-Schleife wird der Skriptblock in einer Do-Schleife immer mindestens einmal ausgeführt.
Eine Do-While-Schleife ist eine Vielzahl der While-Schleife. In einer Do-While-Schleife wird die Bedingung ausgewertet, nachdem der Skriptblock ausgeführt wurde. Wie in einer While-Schleife wird der Skriptblock wiederholt, solange die Bedingung als true ausgewertet wird.
Wie eine Do-While-Schleife wird eine Do-Until-Schleife immer mindestens einmal ausgeführt, bevor die Bedingung ausgewertet wird. Der Skriptblock wird jedoch nur ausgeführt, während die Bedingung false ist.
Die Schlüsselwörter Ablaufsteuerung fortsetzen und unterbrechen können in einer Do-While-Schleife oder in einer Do-Until-Schleife verwendet werden.
Syntax
Im Folgenden wird die Syntax der Do-While-Anweisung veranschaulicht:
do {<statement list>} while (<condition>)
Im Folgenden wird die Syntax der Do-Until-Anweisung veranschaulicht:
do {<statement list>} until (<condition>)
Die Anweisungsliste enthält mindestens eine Anweisung, die jedes Mal ausgeführt wird, wenn die Schleife eingegeben oder wiederholt wird.
Der Bedingungsteil der Anweisung wird in true oder false aufgelöst.
Beispiel
Das folgende Beispiel einer Do-Anweisung zählt die Elemente in einem Array, bis sie ein Element mit dem Wert 0 erreicht.
C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } while ($x[$a] -ne 0)
C:\PS> $count
3
Im folgenden Beispiel wird die Bis-Schlüsselwort (keyword) verwendet. Beachten Sie, dass der nicht gleich Operator (-ne
) durch den Operator (-eq
) ersetzt wird.
C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } until ($x[$a] -eq 0)
C:\PS> $count
3
Im folgenden Beispiel werden alle Werte eines Arrays geschrieben, wobei alle Werte unter null übersprungen werden.
do {
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)