THEMA
about_Do
KURZBESCHREIBUNG
Führt eine Anweisungsliste ein- oder mehrmals mit der
While-Bedingung oder der Until-Bedingung aus.
DETAILBESCHREIBUNG
Das Do-Schlüsselwort wird mit dem While-Schlüsselwort oder dem Until-
Schlüsselwort verwendet, um die Anweisungen in einem Skriptblock mit einer
Bedingung auszuführen. Anders als bei der verwandten While-Schleife
wird der Skriptblock in einer Do-Schleife stets mindestens einmal
ausgeführt.
Eine Do-While-Schleife stellt eine Variante der While-Schleife
dar. In einer Do-While-Schleife wird die Bedingung ausgewertet,
nachdem der Skriptblock ausgeführt wurde. Wie bei einer
While-Schleife wird der Skriptblock so lange wiederholt, bis die
Bedingung mit "true" ausgewertet wird.
Wie Do-While-Schleifen werden auch Do-Until-Schleifen stets
mindestens einmal ausgeführt, bevor die Bedingung ausgewertet
wird. Der Skriptblock wird nur jedoch ausgeführt, solange die
Bedingung mit dem Wert "false" ausgewertet wird.
Das Continue-Schlüsselwort und das Break-Schlüsselwort für die
Flusskontrolle können in einer Do-While-Schleife oder in einer
Do-Until-Schleife verwendet werden.
Syntax
Für die Do-While-Anweisung wird die folgende Syntax verwendet:
do {<Anweisungsliste>} while (<Bedingung>)
Für die Do-Until-Anweisung wird die folgende Syntax verwendet:
do {<Anweisungsliste>} until (<Bedingung>)
Die Anweisungsliste enthält eine oder mehrere Anweisungen, die
stets ausgeführt werden, wenn die Schleife gestartet oder
wiederholt wird.
Die Bedingung in der Anweisung ergibt "True" oder "False".
Beispiel
Im folgenden Beispiel für eine Do-Anweisung werden die Elemente
in einem Array bis zum Element mit dem Wert 0 gezählt.
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 das Until-Schlüsselwort verwendet.
Beachten Sie, dass der Ungleichheitsoperator (-ne) durch den
Gleichheitsoperator (-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 kleineren Werte als 0 übersprungen werden.
do
{
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)
SIEHE AUCH
about_While
about_Operators
about_Assignment_Operators
about_Comparison_Operators
about_Break
about_Continue