about_Do

简短说明

根据 或 Until 条件运行语句列表一While次或多次。

长说明

关键字 (keyword) Do 与关键字 (keyword) 或Until关键字 (keyword) 一起使用While,以在脚本块中运行语句,但受条件约束。 与相关 While 循环不同,循环中的脚本块始终至少运行一 Do 次。

Do-While 循环是各种While循环。 在 Do-While 循环中,运行脚本块后会评估条件。 与 While 循环中一样,只要条件的计算结果为 true,脚本块就重复执行。

Do-While 循环一样, Do-Until 循环始终在评估条件之前至少运行一次。 但是,脚本块仅在条件为 false 时运行。

和 流控制关键字可以在 Do-While 循环或 Do-Until 循环中使用。BreakContinue

语法

下面显示了 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 关键字 (keyword) 。 请注意,不等于运算符 (-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)

另请参阅