C#中goto语句,由于它的随意跳转特性,而不利于程序的编写和维护,试问它存在的意义…

如题所述

第1个回答  2011-07-24
是的,基本不用,最好终身不用,它存在的意义是兼容老的程序,因为goto语句自古有之,如果要移植,就有用处了。
第2个回答  2011-07-24
goto 的一个通常用法是将控制传递给特定的 switch-case 标签或 switch 语句中的默认标签。 goto 语句还用于跳出深嵌套循环。
这个是MSDN上的例子。
class SwitchTest
{
static void Main()
{
Console.WriteLine("Coffee sizes: 1=Small 2=Medium 3=Large");
Console.Write("Please enter your selection: ");
string s = Console.ReadLine();
int n = int.Parse(s);
int cost = 0;
switch (n)
{
case 1:
cost += 25;
break;
case 2:
cost += 25;
goto case 1;//假如case1的代码很多,没有goto的话,就得又重复写上一遍,当然也可以用方法来代替,但是goto也可以很轻松的实现。
case 3:
cost += 50;
goto case 1;
default:
Console.WriteLine("Invalid selection.");
break;
}
if (cost != 0)
{
Console.WriteLine("Please insert {0} cents.", cost);
}
Console.WriteLine("Thank you for your business.");

// Keep the console open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}

————————————————————————————————————
 for(......)  {   for(....)   {   for(.....)   {   // 如何冲出重重包围?   }   }   }   
break;只能跳出单层的循环,r
eturn将整个函数都返回了,没法再继续了,显然也不行,
所以我们想到了goto

不加限制地使用GOTO语句,特别是使用往回跳的GOTO语句,会使程序结构难于理解,在这种情形,应尽量避免使用GOTO语句。但在另外一些情况下,为了提高程序的效率,同时又不至于破坏程序的良好结构,有控制地使用一些GOTO语句也是必要的。本回答被提问者采纳

C#中goto语句,由于它的随意跳转特性,而不利于程序的编写和维护,试问它...
是的,基本不用,最好终身不用,它存在的意义是兼容老的程序,因为goto语句自古有之,如果要移植,就有用处了。

C#中goto语句,由于它的随意跳转特性,而不利于程序的编写和维护,试问它...
去掉GOTO语句后,可直接从程序结构上反映程序运行的过程。这样,不仅使程序结构清晰,便于理解,便于查错,而且也有利于程序的正确性证明。持反对意见的人认为,GOTO语句使用起来比较灵活,而且有些情形能提高程序的效率。若完全删去GOTO语句,有些情形反而会使程序过于复杂,增加一些不必要的计算量。关于goto...

c语言中,我觉得goto语句很好用啊,在做一些判断时很实用,但为什么书上...
主要理由是:GOTO语句使程序的静态结构和动态结构不一致,从而使程序难以理解,难以查错。去掉GOTO语句后,可直接从程序结构上反映程序运行的过程。这样,不仅使程序结构清晰,便于理解,便于查错,而且也有利于程序的正确性证明。后来从理论上证明了:任何程序都可以用顺序、分支和重复结构表示出来。这个结论...

在c#中可以使用goto语句吗
第一句代码是定义变量i,第二句是标签为cc的输出变量i的语句,第三句代码是跳转到标签为cc的语句.因为每次输出i以后,都又跳转回到cc语句,所以程序会不停地输出i.大家是不是有点明白了?没错,这就是用goto实现的循环功能.这是个不停输出0的死循环 死循环对我们的作用不大,如果我们想要输出i小于10的...

为什么都不建议用goto语句进行跳转呢?我觉得挺方便啊!
不加限制地使用goto:破坏了清晰的程序结构,使程序的可读性变差,甚至成为不可维护的"面条代码"。经常带来错误或隐患,比如它可能跳过了某些对象的构造、变量的初始化、重要的计算等语句。goto语句问题的提出直接推动了结构化程序设计(structured programming)的思想和程序设计方法学的诞生和发展。结构化程序...

goto的优点与缺点?
1、使用goto语句,可以更改程序执行的正常顺序,因此可以跳转到程序的任何部分。使用goto语句的缺点:1、使用goto语句,因为它会使程序逻辑非常复杂,不易阅读。2、使用goto使得分析和验证程序(尤其是涉及循环的程序)的正确性的任务非常困难。1968年,E·W·代克斯特拉首先提出“GOTO语句是有害的”论点,向...

谁能讲解一下c#中goto语句的具体用法
不建议用goto,会导致代码逻辑复制难懂,写程序记住第一个出发点就是让其它人看懂,因为程序需要持续维护。

c#中goto的用法(前辈,请讲解的详细点,谢谢)
goto语句是c#和java的区别之一c#建设性地继承了c++的goto语句而没有删掉,是因为我们不能一棒子把goto打死,只看到它不好的一面,而没有看到它的优点。1.goto可以做直接跳转,直接跳转在c#已经不多见了例如语句1...nbsp;gotonbsp;标签1;语句2...nbsp;标签2:语句3...此时语句2不会执行到2.用在...

谁能告诉我怎样使用goto语句,在C#中
GOTO语句属于无条件的跳转语句,因为C#允许为代码行加上标签,这样就可以用GOTO语句直接跳转到这些代码行上。实例如下:private void Form1_Load(obfect sender,EventArgs e){ int i=9;if(i%2==0)goto Found;else goto NoFound;NoFound:MessageBox.Show(i.ToString()+"不是偶数");goto finish;Fo...

为什么都不建议用goto语句进行跳转呢?
GOTO语句使程序的静态结构和动态结构不一致,从而使程序难以理解,难以查错。goto语句的结果:在C\/C++等高级编程语言中保留了goto语句,但被建议不用或少用。在一些更新的高级编程语言,如Java不提供goto语句,它虽然指定goto作为关键字,但不支持它的使 用,使程序简洁易读;尽管如此后来的c#还是支持goto...

相似回答