【发布时间】:2016-07-07 20:27:44
【问题描述】:
在作为 fall-through 一部分的 case 语句中添加分号有什么意义吗?我看到失败按预期工作,并猜测分号被解释为空语句。但是有分号有优点/缺点吗?是否有推荐的最佳实践?在下面的 javascript 示例中,请参见第一个 case 语句中的分号。
switch(a) {
case 2:;
case 3: alert('hello'); break;
default: alert('default hello');
}
我也有兴趣了解与上述 C、C++ 和 Java 相关的最佳实践。我还看到一些文档,如果失败的 case 语句部分有语句,C# 会引发编译错误。像上面这样的空语句会在 C# 中触发错误吗?
【问题讨论】:
-
我以前从未见过。并且认为拥有它没有任何意义。
-
一个五种语言的问题!除了
C和C++代码使用如此宽的字符常量很奇怪。 -
在 Java 中你不需要分号,它只会落空
-
在 C 中,分号标记代码块/语句的结尾,即使其中没有任何内容。在
if()或while()或for()之后,我会很重要。 -
最佳 C 实践:对故意落入下一个案例的案例添加评论。
case 2:; // fall through.
标签: javascript java c# c++ c