在 C#中可以使用跳转语句来改变程序的执行顺序,在特定的场合使用跳转语句可以避免可能出现的死循环。
C#中跳转的语句主要有: break 语句、continue 语句、goto 语句、 return 语句、throw 语句等。
1、break
break 常用于 switch、while、do…while、for 或 foreach 语句中。
在 switch 语句中, break 用来使程序跳出 switch 语句,继续执行 switch 后面的语句;
在循环语句中,break 用来从当前所在的循环内跳出。
如果 break 放在 switch 语句或循环外部,就会产生编译错误。通常在循环中 break 语句总是与 if 语句联合使用,即满足条件时跳出循环。在多重循环中,则是跳出 break 所在的循环。
2、continue
continue 语句类似于 break,也必须在 for、foreach、while 或 do...while 循环中使
用。但它只退出循环的当前迭代,开始执行循环的下一次迭代,而不是退出循环。
3、 goto 语句
goto 语句将程序控制直接传递给标记语句。
goto 语句一般与标签搭配使用,将程序的执行跳转到标签所指定的代码行,其语法格式为:
![2028db7baa6b4d90bc6dce64a7a1dbfe.png](https://i-blog.csdnimg.cn/direct/2028db7baa6b4d90bc6dce64a7a1dbfe.png)
对以上语法格式说明如下:
(1)<标签标识符>的命名遵循 C# 的合法标识符规则。
(2)标签由<标签标识符>和后面的冒号(:)构成。
(3)标签可以在“goto”之前,也可以在“goto”之后。
(4)“goto”和标签必须同时出现在程序的有效区之内,否则会产生编译错误。
goto 的一个通常用法是将控制传递给特定的 switch-case 标签或 switch 语句中的默认标签。goto 语句还用于跳出深嵌套循环。
goto 语句有两个限制。不能跳转到像 for 循环这样的代码块中,也不能跳出类的范围,不能退出 try...catch 块后面的 finally 块。
goto 语句在大多数情况下不允许使用它。一般情况下,使用它肯定不是面向对象编程的好方式。
4、return 语句
return 语句终止它出现在其中的方法的执行并将控制返回给调用方法。
它还可以返回一个可选值。 如果方法为 void 类型,则可以省略 return 语句。
其语法格式为:
return [表达式];
其中,如果有语句中有表达式,其表达式值的类型必须与方法的类型匹配。
如果 return 语句位于 try 块中,则将在控制流返回到调用方法之前执行 finally 块(如果存在)。