在循环语句中,如果需要在循环结束之前退出整个循环,可以使用跳出循环结构语句来进行结束循环跳出。C#中有四种跳转语句。
◎break语句:直接退出整个循环。
◎continue语句:立即终止本次循环,但不会继续执行下一次循环。
◎goto语句:跳出循环到已标记好的位置上。
◎return语句:退出循环和循环所在的函数
下面给大家演示一下break与continue的区别。
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("使用continue退出整个循环的情况:");
for(int i=0;i < 5; i++){
if (i == 2)
{
continue;
}
Console.WriteLine("当前i的值为:{0}", i);
}
Console.WriteLine("使用break退出循环的情况:");
for(int i = 0;i < 5; i++) {
if (i ==2)
{
break;
}
Console.WriteLine("当前i的值为:{0}", i);
}
Console.Read();
}
}
由于continue语句只退出本次循环,下一次循环依然会执行,所以当i等于2时,if的条件表达式为TRUE,continue语句生效退出本次循环,i=2的值没有输出到控制台中。而break语句是用于退出这个循环的,当i等于2时,if的条件得到满足,break语句生效使循环体不再执行,i=2、i=3和i=4的值都不会被输出到控制台中。运行代码,结果如下图所示:
Return语句会直接退出整个循环和循环所在的函数。它与break的区别在于:break只是退出整个循环,但循环体之后的代码依然会被执行;而return语句则不会退出整个循环,还退出了循环所在的函数。执行的代码如下:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("使用break退出程序的情况:");
for (int i = 0; i < 5; i++) {
if (i == 2)
{
break;
}
Console.WriteLine("当前i的值为:{0}", i);
}
Console.WriteLine("循环已退出!");
Console.WriteLine("使用return退出程序的情况:");
for (int i = 0; i < 5; i++){
if (i == 2)
{
return;
}
Console.WriteLine("当前i的值为:{0}", i);
}
Console.WriteLine("循环已退出!");
Console.ReadLine();
}
}
由于break只退出了for循环,所以循环之后的语句会进行执行;而return则退出整个Main函数,for循环后面的“循环已退出”语句不会输出到控制台中。