控制器如何从一个开关盒转到另一个开关盒而没有中断c#?

控制器如何从一个开关盒转到另一个开关盒而没有中断c#?,第1张

概述刚刚开始使用C#,我知道如果至少有一个语句,你不能从一个switch case转到另一个.错误:控制无法从一个案例落到另一个案例. 只是为了有趣的东西,我尝试了这个: char c = 'a'; switch (c) { case 'a': Console.WriteLine("yes"); 刚刚开始使用C#,我知道如果至少有一个语句,你不能从一个switch case转到另一个.错误:控制无法从一个案例落到另一个案例.

只是为了有趣的东西,我尝试了这个:

char c = 'a';        switch (c)        {            case 'a':                Console.Writeline("yes");                goto JumpToNextCase;            case 'b':                 JumpToNextCase:                Console.Writeline("KIDdin me?");                break;        }

这有效!怎么可能?我现在没有违反从一个案件跳到另一个案件的规则吗?任何令人满意的答案?

解决方法 是的,限制只是为了防止在99%的情况下出现意外和错误.

但是,如果您认为自己希望它能够正常工作,那么您甚至不需要使用标签来使其正常工作.你可以使用goto跳转到不同的情况!

char c = 'a';switch (c){    case 'a':        Console.Writeline("yes");        goto case 'b';    case 'b':        Console.Writeline("KIDdin me?");        break;}

您也可以跳转到默认值. C#规范提到:

8.9.3 The goto statement The goto statement transfers control to a statement that is marked by a label.

06001

(…)

The target of a goto case statement is the statement List in the immediately enclosing switch statement (§8.7.2),which contains a case label with the given constant value.

(…)

The target of a goto default statement is the statement List in the immediately enclosing switch statement (§8.7.2),which contains a default label.

总结

以上是内存溢出为你收集整理的控制器如何从一个开关盒转到另一个开关盒而没有中断c#?全部内容,希望文章能够帮你解决控制器如何从一个开关盒转到另一个开关盒而没有中断c#?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1224924.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存