共用方式為


關於 Do

簡短描述

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

長描述

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。

範例

下面的 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_Assignment_Operators

關於_比較_運算符

關於_Break

關於_繼續