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有什么意义呢?直接把那句跳过的删掉不就好了啊? 展开
int a=1;
goto mylable;
a+=1;
maylable:
a=1;
是不是中间跳过的a+=1永远不会执行?那goto有什么意义呢?直接把那句跳过的删掉不就好了啊? 展开
展开全部
不止可以向后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。
int i=0;
mylabel
i++;
goto mylabel
或者跳出多重循环,因为break只能跳出一重,所以需要goto跳出多重
while(...){
while(...){
if(...) goto mylabel;
}
}
mylabel;
另外一点非常重要的是,在所有书中都会讲goto语句,但是都强调不推荐使用。因为使用goto会造成逻辑上的乱跳,导致不安全的引用之类的。貌似在debug的时候也会出现一些问题。goto完全可以被for(foreach),while,if代替,反正我自己写了这么多代码不记得自己用过goto。
展开全部
跳过就不会执行了。
一般是在多重循环中用 goto 提前终止退出的。
for (int i=0; i<100; i++)
for (int j=0; j<100; j++)
{
if ... goto exit;
}
exit:
一般是在多重循环中用 goto 提前终止退出的。
for (int i=0; i<100; i++)
for (int j=0; j<100; j++)
{
if ... goto exit;
}
exit:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
会执行
可以向前goto形成循环,比如:
int i=0;
mylabel
i++;
goto mylabel
或者跳出多重循环,因为break只能跳出一重,所以需要goto跳出多重
while(...){
while(...){
if(...) goto mylabel;
}
}
可以向前goto形成循环,比如:
int i=0;
mylabel
i++;
goto mylabel
或者跳出多重循环,因为break只能跳出一重,所以需要goto跳出多重
while(...){
while(...){
if(...) goto mylabel;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
goto以前是作为循环来用的。就是说:
int a=1;
mylable;
a+=1;
if a==9 goto maylable:
a=1;
相当于while循环或者for循环之类的,但是,其最初的目的不是用来干这个的,而是在不同循环之间跳转或者是循环和外界之间跳转,因为光用for ,while来控制得而话有时候会显得麻烦。在这里一时半会举不出什么好的例子。不过这个用的不多,而且not recommended
int a=1;
mylable;
a+=1;
if a==9 goto maylable:
a=1;
相当于while循环或者for循环之类的,但是,其最初的目的不是用来干这个的,而是在不同循环之间跳转或者是循环和外界之间跳转,因为光用for ,while来控制得而话有时候会显得麻烦。在这里一时半会举不出什么好的例子。不过这个用的不多,而且not recommended
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不会了,就是为了不执行才使用goto跳过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询