在案例陈述中添加分号是否有任何重要意义?我看到翻版按预期工作,并猜测分号被解释为空语句。但是有分号的优点/缺点吗?是否有推荐的某种最佳做法?在下面的javascript示例中,请参阅第一个case语句中的分号。
switch(a) {
case 2:;
case 3: alert('hello'); break;
default: alert('default hello');
}
我也有兴趣了解与C,C ++和Java相关的最佳实践。我还看到了一些文档,如果一个case-statement语句声明部分有一个语句,C#会抛出一个编译错误。像上面这样的空语句会在C#中触发错误吗?
答案 0 :(得分:2)
不,它没有任何区别。
我建议你不要使用它,因为在我看来它会使代码不那么清晰。
在C#中,这是一个错误。
D也不允许;
作为空语句,您必须使用{}
。
答案 1 :(得分:1)
;
在C,C ++和Java中没有为您做任何事情。如果您不需要它,请不要使用它。但是,如果您正在实施Duff's Device或变体并将它们留下来,那么请将您的代码的未来读者扔为骨头。#34;堕落"或者"没有休息"评价。
在C#中
switch(a) {
case 2:;
case 3: Console.WriteLine("hello"); break;
default: Console.WriteLine("default hello");
}
通过中断C#允许的一点点掉落来防止案例2和3执行相同的代码。
switch(a) {
case 2:
case 3: Console.WriteLine("hello"); break;
default: Console.WriteLine("default hello"); break;
}
对于执行相同代码的情况2和3有效。
答案 2 :(得分:0)
最佳实践
通常不使用空语句。
如上所述的空语句会在C#中触发错误吗?
是
答案 3 :(得分:-1)
从语法上讲,它是相同的
它必然会让某些人感到困惑,所以我建议不要使用它