about_Do

簡短描述

執行語句清單一或多次,受限於 WhileUntil 條件。

詳細描述

關鍵詞 Do 適用於 While 關鍵詞或 Until 關鍵詞,以在腳本區塊中執行語句,但受限於條件。 不同於相關的 While 迴圈,迴圈中的 Do 腳本區塊一律至少會執行一次。

Do-While 循環是各種While迴圈。 在 Do-While 迴圈中,條件會在腳本區塊執行之後進行評估。 如同 While 迴圈,只要條件評估為 true,腳本區塊就會重複。

如同 Do-While 迴圈,Do-Until 迴圈一律會在評估條件之前至少執行一次。 不過,只有在條件為 false 時,腳本區塊才會執行。

ContinueBreak 流程控制關鍵詞可用於 Do-While 迴圈或 Do-Until 迴圈。

語法

下列顯示 Do-While 語句的語法:

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

下列顯示 Do-Until 語句的語法:

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

語句清單包含一或多個語句,會在每次輸入或重複迴圈時執行。

語句的條件部分會解析為 true 或 false。 如需如何評估布爾值的詳細資訊,請參閱 about_Booleans

範例

下列語句範例 Do 會計算數位中的專案,直到到達值為 0 的項目為止。

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

下列範例使用 Until 關鍵詞。 請注意,不等於 運算符 (-ne) 會由等於 運算符 (-eq) 取代。

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

下列範例會寫入陣列的所有值,略過任何小於零的值。

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

另請參閱