打破
break
运算符将立即退出程序循环。它可用于 For
,ForEach
,While
和 Do
循环或 Switch
声明。
$i = 0
while ($i -lt 15) {
$i++
if ($i -eq 7) {break}
Write-Host $i
}
以上将计为 15,但一旦达到 7 就停止。
注意 :使用管道循环时,break
将表现为 continue
。要在管道循环中模拟 break
,你需要合并一些额外的逻辑,cmdlet 等。如果你需要使用 break
,则更容易坚持使用非管道循环。
打破标签
Break 也可以调用放在循环实例化前面的标签:
$i = 0
:mainLoop While ($i -lt 15) {
Write-Host $i -ForegroundColor 'Cyan'
$j = 0
While ($j -lt 15) {
Write-Host $j -ForegroundColor 'Magenta'
$k = $i*$j
Write-Host $k -ForegroundColor 'Green'
if ($k -gt 100) {
break mainLoop
}
$j++
}
$i++
}
注意: 此代码将 $i
增加到 8
,$j
增加到 13
,这将导致 $k
等于 104
。由于 $k
超过 100
,因此代码将突破两个循环。