Freigeben über


Über Do

KURZE BESCHREIBUNG

Führt eine Anweisungsliste je nach While- oder Until-Bedingung mindestens einmal aus.

LANGE BESCHREIBUNG

Das Do-Schlüsselwort funktioniert mit dem While-Schlüsselwort oder dem Until-Schlüsselwort, um die Anweisungen in einem Skriptblock auszuführen, die einer Bedingung unterliegen. 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 Variante 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 auch eine Do-Until-Schleife immer mindestens einmal ausgeführt, bevor die Bedingung ausgewertet wird. Der Skriptblock wird jedoch nur ausgeführt, wenn die Bedingung falsch ist.

Die Schlüsselwörter für die Ablaufsteuerung "Continue" und "Break" können in einer Do-While-Schleife oder in einer Do-Bis-Schleife verwendet werden.

Syntax

Das ist die Syntax der Do-While-Anweisung:

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

Das ist die Syntax der Do-Until-Anweisung:

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

Die Anweisungsliste enthält mindestens eine Anweisung, die bei jedem Starten oder Wiederholen der Schleife ausgeführt wird.

Der Bedingungsbereich der Anweisung wird in „true“ oder „false“ aufgelöst.

Beispiel

Im folgenden Beispiel einer Do-Anweisung werden die Elemente in einem Array gezählt, bis ein Element mit dem Wert 0 erreicht wird.

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 Werte, die kleiner als Null sind, ü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

über_Vergleich_Operatoren

about_Break

about_Continue