(原创)c#学习笔记04--流程控制02--goto语句

4.2 goto语句

  C#允许给代码行加上标签,这样就可以使用goto语句直接跳转到这些代码行上。该语句优缺点并存。主要的优点是:这是控制什么时候执行哪些代码的一种简单方式。主要的缺点是:过多地使用这个技巧将使代码晦涩难懂。

  goto语句的用法如下:

    goto <labelName>;

  标签用下述方式定义:

    <labelName>:

  例如,下面的代码:

    int myInteger = 5;

    goto myLabel;

    myInteger += 10;

    myLabel:

      Console.WriteLine("myInteger = {0}", myInteger);

  其执行过程如下:

    myInteger声明为int类型,并赋予值5。

    goto语句中断正常的执行过程,把控制权转到标有myLabel:的代码行上。

    myInteger的值写入控制台。

  下面的第3行代码从未执行

    int myInteger = 5;

    goto myLabel;

    myInteger += 10;

    myLabel:

      Console.WriteLine("myInteger = {0}", myInteger);

  实际上,如果在应用程序中加入这段代码,会发现编译代码时,“错误列表”(Error List)窗口会显示一个警告,即“检测到无法访问的代码”(Unreachable code detected)和一个行号。在无法执行的代码行中,myInteger下面还有绿色的波浪线。

  goto语句有它们的作用,但也可能使代码陷入混乱。尽量不要使用它(使用本章后面介绍的技巧,就可以避免使用它)。

posted @ 2015-10-20 20:39  星月相随  阅读(281)  评论(0编辑  收藏  举报