有时需要在循环代码的处理上有更精细的控制。C#为此提供了4个命令,其中的3个已经在其他情形中介绍过了:
break——立即终止循环。
continue——立即终止当前的循环(继续执行下一次循环)。
goto——可以跳出循环,到已标记好的位置上(最好不要使用该命令)。
return——跳出循环及其包含的函数。
break命令可退出循环,继续执行循环后面的第一行代码,例如:
int i = 1;
while(i <= 10)
{
if(i == 6)
break;
Console.WriteLine("{0}",i++);
}
这段代码输出1~5的数字,因为break命令在i的值等于5时终止了循环。
continue仅终止当前的循环,而不是整个循环,例如:
int i;
for(i = 1; i <= 10; i++)
{
if((i % 2) == 0)
continue;
Console.WriteLine(i);
}
在上面的示例中,只要i除以2的余数是0,continue语句就终止当前的循环,所以只显示数字1、3、5、7、9。
第3个方法使用前面的goto语句,例如:
int i = 1;
while(i <= 10)
{
if(i == 6)
goto exitPoint;
Console.WriteLine("{0}",i++);
}
Console.WriteLine("This code will never be reached.");
exitPoint;
Console.WriteLine("This code is run when the loop is exited using goto.");
goto语句可以退出循环,但不能使用goto语句从外部进入循环。