c#跳转语句详解

[1].goto 语句
        功能说明:可以直接跳转到程序中用标签指定的另一行(标签是一个标识符,后跟一个冒号)。
        示例代码:
        goto Line1;
        Console.WriteLine("这个不会被执行...");
        Line1:
        Console.WriteLine("从这里继续执行...");
        输出结果:从这里继续执行...

        使用限制:
        1).不能跳转到像 for 循环这一的代码块中;
        2).不能跳出类的范围;
        3).不能退出 try...catch 块后面的 finally 块。

        编程说明:
        goto 语句的名声不太好,在大多数情况下不允许使用它。一般来讲,使用它肯定不是面向对象编程的好方式。但是有一个地方使用它是相当方便的——在 switch 语句的 case 子句之间跳转(其后无需再写 break 语句)。例如:
        1).跳转到某个 case 子句
        swith(str)
        {
            case value1:
                ...
                goto case value2;
            case value2:
                ...
                break;
        }
        
        2).跳转到某个 case 子句内部的自定义标签行
        swith(intPwd)
        {
            case value1:
                ...
                goto case Line1;
            case value2:
                ...
        Line1:
                ...
                break;
        }
    [2].break 语句
        功能说明:用于终止最近的封闭循环或它所在的 switch 语句。控制传递给终止语句后面的语句(如果有的话)。

        示例代码:
        for (int i = 1; i < 10; i++)
        {
            if (i == 3)
            {
                Console.WriteLine("循环已结束!");
                break;
            }
            Console.WriteLine(i);
        }
        输出结果:
        1
        2
        循环已结束!

    [3].continue 语句
        功能说明:类似于 break,必须在 for、foreach、while 或 do...while 循环中使用。但它只退出循环的当前迭代,开始执行循环的下一次迭代,而不是退出循环。
       
        示例代码:
        int sum = 0;
        for (int i = 1; i < 101; i++)
        {
            if (i % 2 != 0)
            {
                continue;
            }
            sum += i;
        }
        Console.WriteLine(sum);//输出1-100之间所有偶数项的和
        输出结果:2550

    [4].return 语句
        功能说明:用于退出类的方法,把控制返回给调用方法。如果方法有返回类型,它必须返回这个类型的值;反之,则可以省略 return 语句。
        示例代码:
        static int sum(int a, int b)
        {
            return a + b;
        }
        static void Main(string[] args)
        {
            int myVal = sum(15, 35);
            Console.WriteLine(myVal);
        }

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

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

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

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

  我们再来看代码


1   int i = 0;
2         cc: Console.WriteLine(i);
3             if (i < 9)
4             {
5                 i++;
6                 goto cc;
7             }

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

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

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值