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)

另请参阅