當(dāng)你在一個(gè)循環(huán)的內(nèi)部使用 “Continue”語(yǔ)句時(shí),可以跳過(guò)循環(huán)的當(dāng)前迭代,繼續(xù)執(zhí)行下一個(gè)迭代。如果使用了”Break”語(yǔ)句,則會(huì)跳過(guò)剩余的所有迭代循環(huán)。
這樣就引發(fā)了一個(gè)問(wèn)題,在一個(gè)多層嵌套循環(huán)中,哪一個(gè)循環(huán)會(huì)被影響。默認(rèn)情況下,”Continue”只會(huì)影響到內(nèi)層循環(huán),但是你也可以用”Continue” 和 “Break” 指向外層循環(huán)的某一個(gè)標(biāo)簽。
:outer
Foreach ($element in (1..10))
{
for ($x = 1000; $x -lt 1500; $x += 100)
{
"Frequency $x Hz"
[Console]::Beep($x, 500)
continue outer
Write-Host '你我死生不復(fù)相見,除非你改了代碼'
}
}
因?yàn)樯厦胬又械腸ontinue語(yǔ)句會(huì)調(diào)到外層循環(huán)中,所以我們會(huì)看到10次 1000Hz的輸出,如果刪除了continue語(yǔ)句后,循環(huán)次數(shù)明顯會(huì)增加,write-host語(yǔ)句也不會(huì)跳過(guò)。