
只是为了有趣的东西,我尝试了这个:
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 casestatement is the statement List in the immediately enclosing switch statement (§8.7.2),which contains acaselabel with the given constant value.(…)
The target of a
goto defaultstatement is the statement List in the immediately enclosing switch statement (§8.7.2),which contains adefaultlabel.
以上是内存溢出为你收集整理的控制器如何从一个开关盒转到另一个开关盒而没有中断c#?全部内容,希望文章能够帮你解决控制器如何从一个开关盒转到另一个开关盒而没有中断c#?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)