AspNet goto 语句
2023-03-31 10:57:11 时间
goto 语句 可以无条件转移到程序中的标签指定的位置,由标识符加上冒号构成,语法如下:
goto 标签名; 代码块1; 标签名: 代码块2;
例子:
/// <summary> /// 例子:使用goto /// </summary> static void Simple1() { loop: var num = new Random().Next(0, 10); Console.WriteLine($"num:{num}"); if (num % 2 == 0) // 如果是偶数,则跳过中间代码,直接运行 jump标签 后的代码 goto jump; Console.WriteLine("== Coding =="); jump: Console.WriteLine("Hello World!!!"); if (num % 2 != 0) { Console.WriteLine(); // 如果不是偶数,则运行 loop标签 后的代码 goto loop; } Console.ReadLine(); }
PS:
1.运行到标签名后面的代码【代码块2】就会执行,并不是只有跳转才会执行
2.跳转【goto】标签时,中间的代码不会被执行,标签名后的代码块会被执行一次,逻辑有问题容易形成死循环
/// <summary> /// 例子:死循环 /// </summary> static void SimpleEndlessLoop() { loop: Console.WriteLine("Hello World!!!"); goto loop; Console.ReadLine(); }
3.标签名 必须和 goto 在同一起,无法跨方法和类
4.goto 可以跳出循环,但不能跳入循环
/// <summary> /// 例子:goto在循环中的使用 /// </summary> static void SimpleFor() { for (int i = 0; i < 9; i++) { Console.WriteLine($"i={i}"); goto loop; } loop: Console.WriteLine("Hello World!!!"); Console.ReadLine(); }
5.goto 可以在switch中跳入别的case中
5.1. default 相当于系统自带标签,也可以用 goto 跳转,但只能在 switch 中使用
/// <summary> /// 例子:goto在 switch 中的使用 /// </summary> static void SimpleSwitch() { loop: var num = new Random().Next(0, 10); switch (num) { case 1: Console.WriteLine("Hello World!!!"); break; default: Console.WriteLine($"num={num}"); // goto 可以在switch中跳入别的case中 if (num % 2 == 0) gotocase 1; break; } if (num % 2 != 0) { Console.WriteLine(); // 如果不是偶数,则运行 loop标签 后的代码 goto loop; } Console.ReadLine(); }
相关文章
- 金融服务领域的大数据:即时分析
- 影响大数据、机器学习和人工智能未来发展的8个因素
- 从0开始构建一个属于你自己的PHP框架
- 如何将Hadoop集成到工作流程中?这6个优秀实践必看
- SEO公司使用大数据优化其模型的5种方法
- 关于Web Workers你需要了解的七件事
- 深入理解HTTPS原理、过程与实践
- 增强分析:数据和分析的未来
- PHP协程实现过程详解
- AI专家:大数据知识图谱——实战经验总结
- 关于PHP的错误机制总结
- 利用数据分析量化协同过滤算法的两大常见难题
- 怎么做大数据工作流调度系统?大厂架构师一语点破!
- 2019大数据处理必备的十大工具,从Linux到架构师必修
- OpenCV中的KMeans算法介绍与应用
- 教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境
- CentOS下三种PHP拓展安装方法
- Go语言HTTP Server源码分析
- Go语言HTTP Server源码分析
- 2017年4月编程语言排行榜:Hack首次进入前五十