【发布时间】:2018-05-05 07:14:25
【问题描述】:
通常,C# 中的 switch 语句如下所示
switch (sh)
{
case 1:
DoThis();
DoThat();
break;
case 2:
DoThis();
DoThat();
break;
default:
DoThis();
DoThat();
break;
}
但是有史以来第一次,我看到有人在如下 switch 语句中为每个 case 语句使用花括号:
switch (sh)
{
case 1:
{
DoThis();
DoThat();
break;
}
case 2:
{
DoThis();
DoThat();
break;
}
default:
{
DoThis();
DoThat();
break;
}
}
为什么这些花括号 {、} 用于上述 case 语句的每个 case 和默认块?
为什么需要它们?
有什么区别?
【问题讨论】:
-
不需要它们。您可以用花括号将任何代码括起来以创建新的嵌套代码区域。
-
当你有一个
switch() { case: }语句时......它使环绕多个语句更易读.. -
我知道代码块会创建嵌套区域并限制 vars 的范围,但我在上面的 switch 语句中看不到任何原因。谢谢
-
@pixel 没有语法上的原因。可能是这个人用来使其更具可读性的偏好。我自己不喜欢戴牙套。
-
@pixel 因此,您了解代码块在使用时的效果,无论上下文如何,但不知道在此特定上下文中使用它们的效果是什么?跨度>
标签: c# switch-statement