2.5.3 跳转语句
C#提供了许多可以立即跳转到程序中另一行代码的语句,在此,先介绍goto语句。
1. goto语句
goto语句可以直接跳转到程序中用标签指定的另一行(标签是一个标识符,后跟一个冒号):
goto Label1;
Console.WriteLine("This won't be executed");
Label1:
Console.WriteLine("Continuing execution from here");
goto语句有两个限制。不能跳转到像for循环这样的代码块中,也不能跳出类的范围,不能退出try...catch块后面的finally块(第12章将介绍如何用try...catch...finally块处理异常)。
goto语句的名声不太好,在大多数情况下不允许使用它。一般情况下,使用它肯定不是面向对象编程的好方式。但是有一个地方使用它是相当方便的——在switch语句的case子句之间跳转,这是因为C#的switch语句在故障处理方面非常严格。前面介绍了其语法。
2. break语句
前面简要提到过break语句——在switch语句中使用它退出某个case语句。实际上,break也可以用于退出for、foreach、while或do...while循环,循环结束后,就执行循环后面的语句。
如果该语句放在嵌套的循环中,就执行最内部循环后面的语句。如果break放在switch语句或循环外部,就会产生编译时错误。
3. continue语句
continue语句类似于break,也必须在for、foreach、while或 do...while循环中使用。但它只从循环的当前迭代中退出,然后在循环的下一次迭代开始重新执行,而不是退出循环。
4. return语句
return语句用于退出类的方法,把控制返回方法的调用者,如果方法有返回类型,return语句必须返回这个类型的值,如果方法没有返回类型,应使用没有表达式的return语句。






