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 循环中使用。Break
Continue
语法
下面显示了 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)