Udostępnij za pośrednictwem


Informacje o

KRÓTKI OPIS

Uruchamia listę instrukcji co najmniej raz, z zastrzeżeniem warunku While lub Until.

DŁUGI OPIS

Słowo kluczowe Do współpracuje ze słowem kluczowym While lub słowem kluczowym Until, aby uruchomić instrukcje w bloku skryptu, pod warunkiem. W przeciwieństwie do powiązanej pętli While blok skryptu w pętli Do zawsze jest uruchamiany co najmniej raz.

Pętla Do-While to różnorodność pętli While. W pętli Do-While warunek jest oceniany po uruchomieniu bloku skryptu. Podobnie jak w pętli While, blok skryptu jest powtarzany tak długo, jak warunek ma wartość true.

Podobnie jak pętla Do-While , pętla Do-Until zawsze jest uruchamiana co najmniej raz przed obliczeniu warunku. Jednak blok skryptu jest uruchamiany tylko wtedy, gdy warunek jest fałszywy.

Słowa kluczowe kontrolki Kontynuuj i Przerwij przepływ mogą być używane w pętli Do-While lub w pętli Do-Until .

Składnia

Poniżej przedstawiono składnię instrukcji Do-While :

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

Poniżej przedstawiono składnię instrukcji Do-Until :

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

Lista instrukcji zawiera co najmniej jedną instrukcję uruchamianą za każdym razem, gdy pętla jest wprowadzana lub powtarzana.

Część warunku instrukcji jest rozpoznawana jako prawda lub fałsz.

Przykład

Poniższy przykład instrukcji Do zlicza elementy w tablicy do momentu osiągnięcia elementu o wartości 0.

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

W poniższym przykładzie użyto słowa kluczowego Until. Zwróć uwagę, że operator nie równy (-ne) jest zastępowany przez operatora równego (-eq).

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

Poniższy przykład zapisuje wszystkie wartości tablicy, pomijając dowolną wartość, która jest mniejsza niż zero.

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

ZOBACZ RÓWNIEŻ

about_While

about_Operators

about_Assignment_Operators

about_Comparison_Operators

about_Break

about_Continue