c#中goto跳过的还会执行吗

比如inta=1;gotomylable;a+=1;maylable:a=1;是不是中间跳过的a+=1永远不会执行?那goto有什么意义呢?直接把那句跳过的删掉不就好了啊... 比如
int a=1;
goto mylable;
a+=1;
maylable:
a=1;
是不是中间跳过的a+=1永远不会执行?那goto有什么意义呢?直接把那句跳过的删掉不就好了啊?
展开
 我来答
百度网友e4b88e719
2013-08-20 · TA获得超过740个赞
知道小有建树答主
回答量:521
采纳率:0%
帮助的人:470万
展开全部
不止可以向后goto,也可以向前goto形成循环,比如:
int i=0;
mylabel

i++;
goto mylabel
或者跳出多重循环,因为break只能跳出一重,所以需要goto跳出多重
while(...){
while(...){
if(...) goto mylabel;

}

}
mylabel;

另外一点非常重要的是,在所有书中都会讲goto语句,但是都强调不推荐使用。因为使用goto会造成逻辑上的乱跳,导致不安全的引用之类的。貌似在debug的时候也会出现一些问题。goto完全可以被for(foreach),while,if代替,反正我自己写了这么多代码不记得自己用过goto。
PCFAN9999
2013-08-20 · TA获得超过3683个赞
知道小有建树答主
回答量:1553
采纳率:50%
帮助的人:490万
展开全部
跳过就不会执行了。

一般是在多重循环中用 goto 提前终止退出的。

for (int i=0; i<100; i++)
for (int j=0; j<100; j++)
{
if ... goto exit;
}
exit:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友da8a46e
2015-10-26 · TA获得超过7293个赞
知道小有建树答主
回答量:2307
采纳率:93%
帮助的人:183万
展开全部
会执行
可以向前goto形成循环,比如:
int i=0;
mylabel

i++;
goto mylabel
或者跳出多重循环,因为break只能跳出一重,所以需要goto跳出多重
while(...){
while(...){
if(...) goto mylabel;

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牧_风_
2013-08-20 · 超过20用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:52.5万
展开全部
goto以前是作为循环来用的。就是说:
int a=1;
mylable;
a+=1;
if a==9 goto maylable:
a=1;
相当于while循环或者for循环之类的,但是,其最初的目的不是用来干这个的,而是在不同循环之间跳转或者是循环和外界之间跳转,因为光用for ,while来控制得而话有时候会显得麻烦。在这里一时半会举不出什么好的例子。不过这个用的不多,而且not recommended
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
个人AI学习
2015-10-04 · 超过13用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:5.4万
展开全部
不会了,就是为了不执行才使用goto跳过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式