public void demofuncton(string s)
{
  if(s== null)
   return ;
  for(int i=0 ;i<10;i++)
  if(i ==4) 
    break;
}你要goto语句??

解决方案 »

  1.   

    跳转语句 这儿没有更多的令人惊讶的地方,可能除了臭名卓著的goto语句。然而,这和我们记得的带来麻烦的20年前的basic的goto语句大不相同。一个goto语句必须指向一个标签【译注:goto语句必须必须在该标签的作用域内,或者换句话说,只允许使用goto语句将控制权传递出一个嵌套的作用域,而不能将控制权传递进一个嵌套域】或是switch语句里的一个选择支【译注:即所谓的goto case语句】。指向标签的用法和continue差不多。Java里的标签,自由度大一些【译注:Java中的break和continue语句后可跟标签】。C#中,goto语句可以指向其作用域的任意一个地方,这个作用域是指同一个方法或finally程序块【译注:如果goto语句出现在finally语句块内,则goto语句的目的地也必须在同一个finally语句块内】。C#中的continue语句和Java中的基本等价,但C#中不可以指向一个标签。 
    还是有goto语句,但是不可以随意跳转。
      

  2.   

    能用goto吗?没试过
    使用switch   case不是挺好的吗?
      

  3.   

    有的goto
    最好不要用这个东西
      

  4.   

    使用goto:
    经常看到的例子就是goto加上if构成循环。
    但不知道楼主的动机是什么?
    goto:会破坏良好的结构。
      

  5.   

    不知道上面各位说不推荐goto的时候是自己感受还是按照教科书上的结论...
    我还是经常用goto的,很多时候都很好用,可以有效减少嵌套的条件判断并且,包括MS写的FCL内部的函数,很多地方也用goto
      

  6.   

    c# 中跳转(所有的?)包括: break ,continue,default,goto,return
    goto 的有3中使用形式:
    goto identifier
    goto case constantExpression
    goto default/*** goto 语句对跳出很深的嵌套循环很有用 ***/
    ------DEMO:
    for(int i=0;i<10;i++)
    for(int j=0;j<20;j++)
    if(myArray[i,j] == myNumber)
      goto Found;
    Console.WriteLine("not found");
    goto Finish;
    //...
      Found:System.Console.WriteLine("hello");
     Finish:Console.WriteLine("end of search");//switch demoswitch(n)
    {
      case 0:
        goto case 3;
       case 1:
       //... statements
       case 2:
      //...
      case 3:
     //...
      default:
     //...
    }
      

  7.   

    C#里面可以用goto语句的,但是能不用尽量不用
      

  8.   

    记得是有goto的,但是从来不用。我不觉得需要啊!