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

    转:C#goto语句

  • 相关阅读:
    echarts实现中国地图(部分省份版)
    Head First 设计模式——与设计模式相处
    Head First 设计模式-复合模式
    Head First 设计模式-状态、代理模式
    Head First 设计模式-模板方法、迭代器
    魔幻的一个月~
    Head First 设计模式-命令与适配器模式
    突然想写点什么……
    Head First 设计模式- 工厂与单件模式
    Head First 设计模式——观察者与装饰者模式
  • 原文地址:https://www.cnblogs.com/wangfuyou/p/6929972.html
Copyright © 2011-2022 走看看