zoukankan      html  css  js  c++  java
  • 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语句只允许在一个语句块内跳出,或者在一个语句块内的一个地方跳到另一个地方;不允许从一个语句块外面跳入一个语句块的内部

  • 相关阅读:
    nova创建虚拟机源码分析系列之五 nova源码分发实现
    nova创建虚拟机源码分析系列之四 nova代码模拟
    nova创建虚拟机源码分析系列之三 PasteDeploy
    nova创建虚拟机源码系列分析之二 wsgi模型
    nova创建虚拟机源码分析系列之一 restful api
    devstack安装openstack newton版本
    openstack ocata版本简化安装
    openstack使用openvswitch实现vxlan组网
    OpenFlow协议1.0及1.3版本分析
    Python开发环境配置
  • 原文地址:https://www.cnblogs.com/thybk/p/7421968.html
Copyright © 2011-2022 走看看