交换机中的情况如何不会中断?
这个问题在这里已经有了答案:
这种结构:
case "LogOnManager":
case "NormalUse":
lblSwipeStatus.Text = "Pass ID BadgenNear The Reader";
break;
基本上意味着第二种case
的代码将用于任何一种case
。 所以这两种情况都使用相同的代码。
在语义上,这可以被认为是:
case "LogOnManager" || "NormalUse":
lblSwipeStatus.Text = "Pass ID BadgenNear The Reader";
break;
除了这不作为该switch
语句的有效条件编译。 (如果你想获得真正的技术,潜在的原因有两个,但主要是因为它的评估结果是一个bool
,而switch
是在一个string
上操作的。)所以你找到的版本代替了这个工作。
当break
被省略的语句(或者,更具体地,当case
块是空的),则过程将继续到任何下一个case
,不管使用的是下一个的值的case
。
如果开关盒没有中断,那么它将在下一个案例中出现。 请注意,在C#中,只有在案例主体中没有任何内容的情况下才有效。
从文档:
C#不支持从一个案例标签到另一个案例标签的隐式下降。 一个例外是如果case语句没有代码。
在这种情况下没有中断的情况仅仅意味着它将和它下面的情况一样。
所以这些案例都会做同样的事情:
case "LogOnManager":
case "NormalUse":
lblSwipeStatus.Text = "Pass ID BadgenNear The Reader";
break;
它被称为跌倒
链接地址: http://www.djcxy.com/p/84477.html