当前位置: 首页 > news >正文

C# goto

goto语句的用法非常灵活,你可以用它实现很多功能,但是由于goto语句的跳转影响程序的结构,在使用的时候会使人迷茫,所以一般"教材"上都不建议使用,但是用它可以实现递归,循环,选择功能,使用起来也很方便,存在即有价值,大家在使用上做适当取舍就好,觉得需要用就用,不必因拘泥而刻意不去用.

  goto 的意思是跳转到的意思,那么跳转到哪里呢,当然是跳转到另一个语句,如何标示这个要跳转到的语句,答案是在该语句前加上标签

           int i = 0;

            goto cc;

            i = 9;

        cc: Console.Write(i);

  这就是四句代码,标签的使用方式cc: Console.Write(i);即为标签名,再加上冒号":",标签名大家可以随意取,比如aa,bb,反正随大家喜欢.这四句代码的意思是,第一句:定义变量i,第二句:跳转到标签为cc的语句,接下来就输出i的结果,可以看出,第三句是无意义的,因为没有被执行,跳过去了,所以输出的值是0,而不是9.

  goto跳转的语句,并不是一定要跳转到之后的语句,也就是说,goto还可以跳到前面去执行

  我们再来看代码

            int i = 0;

        cc: Console.Write(i);

            goto cc;

  第一句代码是定义变量i,第二句是标签为cc的输出变量i的语句,第三句代码是跳转到标签为cc的语句.因为每次输出i以后,都又跳转回到cc语句,所以程序会不停地输出i.大家是不是有点明白了?没错,这就是用goto实现的循环功能.这是个不停输出0的死循环

  死循环对我们的作用不大,如果我们想要输出i小于10的数,那可以这样变一下代码

            int i = 0;

        cc: Console.Write(i);

            if (i < 9)

            {

                i++;

                goto cc;

            }

  非常简单,只要在跳转语句加上跳转条件,也就是i<9就好了

  goto语句只允许在一个语句块内跳出,或者在一个语句块内的一个地方跳到另一个地方;不允许从一个语句块外面跳入一个语句块的内部

 

转:C#goto语句

转载于:https://www.cnblogs.com/wangfuyou/p/6929972.html

相关文章:

  • 《Java并发编程实战》第九章 图形用户界面应用程序界面 读书笔记
  • Spark RDD概念学习系列之Pair RDD的transformation操作
  • linux 不常用命令及命令组合
  • 面试基础_03实现strcpy、strcat、strcmp、strlen
  • Python学习之路12☞模块与包
  • 移动端页面的适配
  • Sql 列转行字符串
  • 团队冲刺阶段二(八)
  • Oracle解锁scott账户
  • SonarQube Scanner的配置与使用简介
  • 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow
  • JAVA EE Demo[购物商城 Strust2]
  • java之内部类
  • html5 Web Workers.RP
  • TensorFlow 生成 .ckpt 和 .pb
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • Computed property XXX was assigned to but it has no setter
  • dva中组件的懒加载
  • js中forEach回调同异步问题
  • LeetCode29.两数相除 JavaScript
  • MySQL主从复制读写分离及奇怪的问题
  • Nodejs和JavaWeb协助开发
  • passportjs 源码分析
  • PHP面试之三:MySQL数据库
  • Protobuf3语言指南
  • RxJS: 简单入门
  • Spring-boot 启动时碰到的错误
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 对JS继承的一点思考
  • 检测对象或数组
  • 力扣(LeetCode)357
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 微信小程序开发问题汇总
  • 小程序开发中的那些坑
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 如何正确理解,内页权重高于首页?
  • #Lua:Lua调用C++生成的DLL库
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (四)JPA - JQPL 实现增删改查
  • (一)插入排序
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .Net Redis的秒杀Dome和异步执行
  • .net6使用Sejil可视化日志
  • @Valid和@NotNull字段校验使用
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [AutoSar]BSW_Com02 PDU详解
  • [C++]——带你学习类和对象
  • [CISCN2019 华北赛区 Day1 Web2]ikun
  • [ffmpeg] 定制滤波器
  • [I2C]I2C通信协议详解(一) --- 什么是I2C
  • [LeetCode] Minimum Path Sum