c#中带有多个常量表达式的Switch语句。可能吗?
可能重复:c#中带有多个常量表达式的Switch语句。可能吗?,c#,switch-statement,C#,Switch Statement,可能重复: 是否可以执行多常量表达式开关语句,如 switch (i) { case "run","notrun", "runfaster": //Something like this. DoRun(); break; case "save": DoSave(); break; default: InvalidCommand(command); break; } 。可以对同一节使用多个大小写标签
是否可以执行多常量表达式开关语句,如
switch (i) {
case "run","notrun", "runfaster": //Something like this.
DoRun();
break;
case "save":
DoSave();
break;
default:
InvalidCommand(command);
break;
}
。可以对同一节使用多个大小写标签:
switch (i)
{
case "run":
case "notrun":
case "runfaster":
DoRun();
break;
case "save":
DoSave();
break;
default:
InvalidCommand(command);
break;
}
我注意到您将其概念化为一个C样式开关,其中存在“fall-through”,标签之间的间隙可以为空。在C#中思考这个问题的一个更好的方法是,每个部分都有一个或多个标签,并且各部分之间没有任何漏洞。@Eric:你是对的,这是一个更清晰的视角,没有任何误解的余地。“失败”的比喻是一种粘性的比喻,一种强烈的视觉化,很难动摇。而且,当我们挑剔的时候,案例标签是“案例标签”,而不是“案例陈述”。它们不是声明;只要声明是合法的,他们就不合法。