C#跳转语句 -0013

C#提供了一些语句使得你可以在程序里进行跳转:goto语句,break语句,continue语句,return语句。

goto语句

goto语句允许你直接跳到任意行,只要它声明了一个标签(label,就是一个英文名称然后紧跟着一个:):

goto Label1;
	Console.WriteLine("This won't be executed");
Label1:
	Console.WriteLine("Continuing execution from here");

 注:上面编译会有个warning: warning CS0162: Unreachable code detected

goto语句有两个限制:

  • 不能跳转到像for循环这样的代码块中;也不能跳出class的范围;
  • 在try...catch的finally块里不能使用goto语句

goto语句是万恶的,大多数情况下都是默认不允许使用的。

break语句

用来跳出switch的case,也可以用于跳出像for,foreach,while和do...while这样的循环体。 

如果你在嵌套循环里使用了break,它仅仅会跳出它所在的那一层循环体,外部循环依然可以正常使用。

如果你在switch或者循环体外使用break,系统会直接提示一个编译错误:"没有要中断或继续的封闭循环"。

continue语句

 continue语句类似于break语句,但只能在for,foreach,while和do...while这样的循环体中使用。

它只退出循环的当前迭代,开始执行循环的下一次迭代,而不是退出循环。

return 语句

return语句用于退出方法,把控制权返回给方法的调用者。

如果方法有返回类型,return语句必须返回该类型的值。

而如果方法声明为void,则不需要返回任何值,仅仅书写一个return即可。

原文地址:https://www.cnblogs.com/codesee/p/13033739.html