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