文章摘要
本文介绍了在C#编程中使用`Continue`和`Break`语句时需要注意的循环嵌套问题。`Continue`语句会跳过当前循环的迭代,继续执行下一个迭代,而`Break`语句则会跳过所有剩余的循环。默认情况下,`Continue`语句仅影响内层循环,但如果使用标签指向外层循环(如`outer`标签),可以实现对外层循环的跳过。文章通过示例代码说明了如何通过`continue outer`语句实现外层循环跳过,并解释了这种行为对程序执行的影响。
当你在一个循环的内部使用 “Continue”语句时,可以跳过循环的当前迭代,继续执行下一个迭代。如果使用了”Break”语句,则会跳过剩余的所有迭代循环。
这样就引发了一个问题,在一个多层嵌套循环中,哪一个循环会被影响。默认情况下,”Continue”只会影响到内层循环,但是你也可以用”Continue” 和 “Break” 指向外层循环的某一个标签。
: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 ‘你我死生不复相见,除非你改了代码’
}
}
Foreach ($element in (1..10))
{
for ($x=1000; $x -lt 1500; $x +=100)
{
“Frequency $x Hz”
[Console]::Beep($x, 500)
continue outer
Write-Host ‘你我死生不复相见,除非你改了代码’
}
}
因为上面例子中的continue语句会调到外层循环中,所以我们会看到10次 1000Hz的输出,如果删除了continue语句后,循环次数明显会增加,write-host语句也不会跳过。
© 版权声明
文章版权归作者所有,未经允许请勿转载。



