为了账号安全,请及时绑定邮箱和手机立即绑定

c#中使用goto语句后,后面的语句还会执行吗?

/ 猿问

c#中使用goto语句后,后面的语句还会执行吗?

万千封印 2019-04-05 11:07:49

c#中使用goto语句后,后面的语句还会执行吗


查看完整描述

5 回答

?
呼啦一阵风

程序会跳转到goto指向的代码块执行,紧接着goto的语句就不执行了。
不过,建议你忘掉goto,它会破坏程序的结构,难读也难于维护。

查看完整回答
反对 回复 2019-04-09
?
守候你守候我

举个例子
while (true)
{
Response.Write("a");//执行
goto eee;
Response.Write("b");//不执行
}
eee:Response.Write("c");//执行

尽量不要用goto



查看完整回答
反对 回复 2019-04-09
?
吃鸡游戏

goto语句的用法非常灵活,你可以用它实现很多功能,但是由于goto语句的跳转影响程序的结构,在使用的时候会使人迷茫,所以一般"教材"上都不建议使用,但是用它可以实现递归,循环,选择功能,使用起来也很方便,存在即有价值,大家在使用上做适当取舍就好,觉得需要用就用,不必因拘泥而刻意不去用.
goto 的意思是跳转到的意思,那么跳转到哪里呢,当然是跳转到另一个语句,如何标示这个要跳转到的语句,答案是在该语句前加上标签
int i = 0;
goto cc;
i = 9;
cc: Console.Write(i);
这就是四句代码,标签的使用方式cc: Console.Write(i);即为标签名,再加上冒号":",标签名大家可以随意取,比如aa,bb,反正随大家喜欢.这四句代码的意思是,第一句:定义变量i,第二句:跳转到标签为cc的语句,接下来就输出i的结果,可以看出,第三句是无意义的,因为没有被执行,跳过去了,所以输出的值是0,而不是9.
goto跳转的语句,并不是一定要跳转到之后的语句,也就是说,goto还可以跳到前面去执行
我们再来看代码
int i = 0;
cc: Console.Write(i);
goto cc;
第一句代码是定义变量i,第二句是标签为cc的输出变量i的语句,第三句代码是跳转到标签为cc的语句.因为每次输出i以后,都又跳转回到cc语句,所以程序会不停地输出i.大家是不是有点明白了?没错,这就是用goto实现的循环功能.这是个不停输出0的死循环
死循环对我们的作用不大,如果我们想要输出i小于10的数,那可以这样变一下代码
int i = 0;
cc: Console.Write(i);
if (i < 9)
{
i++;
goto cc;
}
非常简单,只要在跳转语句加上跳转条件,也就是i<9就好了
goto语句只允许在一个语句块内跳出,或者在一个语句块内的一个地方跳到另一个地方;不允许从一个语句块外面跳入一个语句块的内部



查看完整回答
反对 回复 2019-04-09
?
缥缈止盈

这个看你的实际代码及用途了,总的来说:主要有break、return、throw。
break:一般用于循环中,如果满足某个条件就跳出循环,与之对应的还有
continue,这个是满足某个条件就继续下一次循环。
return:这个一般可以用在任何位置,一般在事件、方法中中止执行程序代码。
如果是有返回值得方法,你得返回一个需要返回的值。
throw:抛出异常。
goto:就是跳转的代码要执行的地方,用得比较少。
总的来说,和C语音中的理解是没有任何区别的。



查看完整回答
反对 回复 2019-04-09
?
慕标5265247

c#让语句不再向下执行的方法需要根据选择的项目类型来决定。
如果选择的是控制台程序,那么添加一个console.writeline() ; 就可以实现暂停然后等待用户输入字符后才继续。
如果是界面程序,使用方法很多,比如使用Messagebox.show(“wait“);就可以等待使用者点确定后继续。比如使用system.pause则完全暂停不执行了。

查看完整回答
反对 回复 2019-04-09

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信