关于 Do

简短说明

运行语句列表一次或多次,受 While 或 Until 条件约束。

详细说明

Do 关键字 (keyword) 与 While 关键字 (keyword) 或 Until 关键字 (keyword) 一起使用,以在脚本块中运行语句,但受条件限制。 与相关的 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 关键字 (keyword) 。 请注意,不等于运算符 (-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