返回列表 回复 发帖

跳转语句goto用法问题

请各位前辈指点,跳转语句goto的用法。希望能讲解的详细一点,谢谢!!
窗内网汇智科技旗下在线教育平台
呵呵,在C#中是不建议使用goto语句的,这主要因为goto语句不容易控制。既然c#建设性地继承了c++的goto语句而没有删掉,这说明goto语句还有一些优点。下面介绍一下goto语句的一些优点:
1、goto语句可以直接跳转。例如:
  1. 语句1...
  2. goto 标签1:
  3. 语句2...
  4. 标签2:
  5. 语句3...
复制代码
在上面代码中,不会执行到语句2的。
2、goto语句的另一个好处,就是在switch语句中使用goto语句。例如:
  1. switch(x)
  2. {
  3.   case 1:
  4.      语句1;
  5.   case 2:
  6.      语句2;
  7.      break;
  8.   default:
  9.      break;
  10. }
复制代码
在上面代码中,是不允许case 1直接跳到case 2前面,不过使用goto语句却可以。请看下面代码:
  1. switch(x)
  2. {
  3.   case 1:
  4.      语句1;
  5.      goto case 2;
  6.      break;
  7.   case 2:
  8.      语句2;
  9.      break;
  10.   default:
  11.      break;
  12. }
复制代码
3、使用goto语句可以直接跳出多重for循环,这是goto好用的地方之一。例如,多个for循环嵌套,可以用goto语句全部跳出for循环嵌套。如下代码:
  1. for(int x=0;x<100;x++)
  2. {
  3.   for(int y=0;y<100;y++)
  4.   {
  5.      语句...;
  6.      goto outfor;
  7.   }
  8. }
  9. outfor:
  10. 语句...
复制代码
窗内网汇智科技旗下在线教育平台
我知道用啊,你为什么自己发帖,自己回复啊
爱酷就玩酷!
我之前不知道噢,刚看了视频教程,现在会了。^_^
大哥  我不明白 你说的“不允许case 1直接跳到case 2前面” 因为 你在后面 又说“goto可以直接跳出循环”  你的第三段代码 swich  case 1:  后面没带 break ,那个goto是相当于break吗?。goto之后还执行case 2 不?
返回列表