开关大小写语句中的分号
semicolon in fall through of switch case statement
在 case 语句中添加分号有什么意义吗?我看到跌倒按预期工作,并猜测分号被解释为空语句。但是使用分号有利/弊吗?是否有推荐的某种最佳实践?在下面的 javascript 示例中,请参阅第一个 case 语句中的分号。
switch(a) {
case 2:;
case 3: alert('hello'); break;
default: alert('default hello');
}
我也有兴趣了解与上述 C、C++ 和 Java 相关的最佳实践。我还看到一些文档,如果失败的案例语句部分具有语句,则 C# 会引发编译错误。像上面这样的空语句会在 C# 中触发错误吗?
不,这没有任何区别。
我建议您不要使用它,因为在我看来,它使代码不太清晰。
在 C# 中,这是一个错误。D 也不允许;
作为空语句,您必须使用 {}
.
;
在C,C++和Java中对你没有任何作用。如果您不需要它,请不要使用它。但是,如果您正在实现 Duff's Device 或变体,请给代码的未来读者一个骨头,并给他们留下"失败"或"不间断"的注释。
在 C# 中
switch(a) {
case 2:;
case 3: Console.WriteLine("hello"); break;
default: Console.WriteLine("default hello");
}
防止情况 2 和 3 通过中断 C# 允许的一点点错误来执行相同的代码。
switch(a) {
case 2:
case 3: Console.WriteLine("hello"); break;
default: Console.WriteLine("default hello"); break;
}
对于执行相同代码的情况 2 和 3 有效。
最佳实践
通常不使用空语句。
像上面这样的空语句会在 C# 中触发错误吗?
是的。
语法上是一样的
不过,这肯定会使某人感到困惑,所以我建议不要使用它
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 自动修复”;语句前缺少分号“;
- 如何在 API 调用后和 if 语句中启用提交按钮
- 是“;x==a||b”;以及“;x==a||x==b”;JavaScript中的等效语句
- 带有多个elseif的Javascript if语句
- 这个条件语句的逻辑有问题
- Sharepoint JScript if语句未执行
- 为什么继续;语句冻结浏览器
- Javascript:If-then语句在函数中不起作用
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- 当涉及到if语句时,我如何使Javascript不区分大小写
- 如何在switch语句中使用NaN大小写
- 如何在 switch 语句中捆绑“data-”属性的大小写
- 在Java与JS或PHP中切换大小写逻辑表达式语句
- 如何执行的东西'最后'在Javascript切换大小写语句
- 为什么 const 在开关大小写语句中是非法的
- 开关大小写语句中的分号
- If语句检查字母的大小写