C# 跳出循环几种方法详解

说明:

break语句:终止并跳出循环体。
continue语句:终止当前循环,重新开始一个新的循环。
goto语句:跳转到指定位置 。

一,continue语句

class Program{ static void Main(string[] args) { for(int i = 1; i <= 10; i++) { if (i == 4) { continue; } Console.WriteLine(i); } } }

结果

技术图片

 

 从上面的执行效果可以看出,当 for 循环中的值迭代到 4 时 continue 语句结束了本次 迭代,继续下一次迭代,因此在输出结果中没有 4。

 

二,break语句

class Program{ static void Main(string[] args) { for(int i = 1; i <= 10; i++) { if (i == 4) { break; } Console.WriteLine(i); } } }

结果

技术图片

 

 从上面的执行效果可以看出,for 循环要完成 1~10 的输出,但是当输出到 4 时使用了 break 语句,结束了 for 循环,因此仅输出了 1~3 的数。

 

三,goto语句(语句用于直接在一个程序中转到程序中的标签指定的位置,标签实际上由标识符加上冒号构成。)

语法:

goto Labell; 语句块 1;Labell: 语句块 2;

如果要跳转到某一个标签指定的位置,直接使用 goto 加标签名即可。

在上面的语句中使用了 goto 语句后,语句的执行顺序发生了变化,即先执行语句块 2,再执行语句块 1。

此外,需要注意的是 goto 语句不能跳转到循环语句中,也不能跳出类的范围。

由于 goto 语句不便于程序的理解,因此 goto 语句并不常用。

class Program{ static void Main(string[] args) { int count = 1; login: Console.WriteLine("请输入用户名"); string username = Console.ReadLine(); Console.WriteLine("请输入密码"); string userpwd = Console.ReadLine(); if (username == "aaa" && userpwd == "123") { Console.WriteLine("登录成功"); } else { count++; if (count > 3) { Console.WriteLine("用户名或密码错误次数过多!退出!"); } else { Console.WriteLine("用户名或密码错误"); goto login;//返回login标签处重新输入用户名密码 } } }}

 

结果

技术图片

 

 

 

相关文章