about_Do
主題
about_Do
簡短描述
執行一或多次陳述式清單,但受限於 While 或 Until 條件。
完整描述
Do 關鍵字可搭配 While 關鍵字或 Until 關鍵字使用而執行指令碼區塊中的陳述式,但
受限於條件。與相關的 While 迴圈不同,Do 迴圈中的指令碼區塊一定至少會執行一次。
Do-While 迴圈是一種 While 迴圈類型。在 Do-While 迴圈中,會在執行指令碼區塊
之後評估條件。與在 While 迴圈中相同,只要條件評估為 True,指令碼區塊就會重複。
與 Do-While 迴圈相同,Do-Until 迴圈一定會在條件評估之前至少執行一次。不過,
指令碼區塊只會在條件為 False 時執行。
Continue 和 Break 流程控制關鍵字可用於 Do-While 迴圈或 Do-Until 迴圈。
語法
Do-While 陳述式的語法如下:
do {<陳述式清單>} while (<條件>)
Do-Until 陳述式的語法如下:
do {<陳述式清單>} until (<條件>)
陳述式清單包含了每次進入或重複迴圈時執行的一或多個陳述式。
陳述式的條件部分會解析成 true 或 false。
範例
下列的 Do 陳述式範例會計算陣列中的項目,直到達到值為 0 的項目:
C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } while ($x[$a] -ne 0)
C:\PS> $count
3
下列範例會使用 Until 關鍵字。請注意,不等於運算子 (-ne) 會由等於運算子 (-eq)
所取代。
C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } until ($x[$a] -eq 0)
C:\PS> $count
3
下列範例會寫入陣列的所有值,略過小於零的任何值。
do
{
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)
請參閱
about_While
about_Operators
about_Assignment_Operators
about_Comparison_Operators
about_Break
about_Continue