C#学习笔记 - 标签、goto语句

1、标签语句

标签标识符: Stament

标签语句的执行如同标签不存在永远, 仅执行Statment部分

  • 给语句增加一个标签, 允许控制从代码的其他部分转移到该语句

  • 标签语句只允许用在块内部

{
   int xyz = 0;
   xyz: Console.WriteLine("No problem");
}

(1)标签标识符

  • 标签有自己的声明空间, 所以标签中的标识符可以是任何有效的标识符

  • 标识符不能是关键字

  • 重叠范围内, 不能和另一个标签标识符相同

(2)作用域

标签在其声明所在的块的外部均不可见, 作用域如下

  • 它声明所在的块

  • 任何嵌套在该块内部的块

static void Main(string[] args)
{//作用域A
  {//作用域B
       increment: x++;
      {//作用域C
          {
               //作用域D
          }
          {
               //作用域E
          }
      }
       end: Console.WriteLine("exiting");
  }
}

2、goto语句

goto语句无条件的转向一个标签语句

goto 标签标识符;
注意
  1. goto语句必须在标签语句的作用域内

    • goto语句可以跳到它所在块的任何标签语句, 或跳出任何嵌套它的块内的标签语句

    • goto语句不能跳入嵌套在其所在块内的任何块

  2. goto语句会弱化结构化, 难以调试维护代码

switch中的goto

  • 这些goto语句把控制转移到switch语句内部相应命名的分支标签

  • 但是goto只能用来引用编译时常量

goto case 1;
goto case default;

posted on   老菜农  阅读(223)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

统计信息

点击右上角即可分享
微信分享提示