C# 如何在一个switch语句中合并两个case语句
有没有办法将这两个“case”语句合并在一起?您只需要C# 如何在一个switch语句中合并两个case语句,c#,c++,C#,C++,有没有办法将这两个“case”语句合并在一起?您只需要中断用于当前代码,如: switch(code) { case 'A': case 'a': // to do default: // to do } 但如果要比较大写和小写字符,则可以使用,然后仅为大写字符指定大小写: switch (code) { case 'A': case 'a': break; // to do de
中断代码>用于当前代码,如:
switch(code)
{
case 'A':
case 'a':
// to do
default:
// to do
}
但如果要比较大写和小写字符,则可以使用,然后仅为大写字符指定大小写:
switch (code)
{
case 'A':
case 'a':
break;
// to do
default:
// to do
break;
}
开关
将对满足的每个条件进行评估,直到其达到中断
、默认
或最终关闭括号
i、 e它将执行任何匹配的case
语句,直到找到其中一条指令为止
将所有相同的案例分组
,并在最后一个案例后添加一个中断
,以合并它们
注意,如果没有匹配,它将落入
并在每个开关(code.ToUpper())
大小写中使用它代码>用于
和案例
hi Ant P,一个或多个both@Habib我的问题是将两个案例合并为一个案例。“break”不是我所关心的。因此,如果第一个语句是默认值
,然后是default
s,则不会执行case?case和Switch语句相当于GOTO标签,因此如果任何case匹配,执行就会跳到它;如果没有匹配项(且存在默认值),则跳转到默认值。所以不,顺序不重要,但您声明“…将对满足的每个条件进行评估,直到它达到中断、默认值…”。如果默认值是第一个条件,它就会停止。是的,那么Case'A'=GOTO:Case'A'=GOTO}、GOTO'break'或GOTO'default取决于编译器可以生成的JMP?
case
switch (char.ToUpperInvariant(code))
{
case 'A':
break;
// to do
default:
// to do
break;
}
class Program
{
static void Main(string[] args)
{
int switchExpression = 3;
switch (switchExpression)
{
// A switch section can have more than one case label.
case 0:
case 1:
Console.WriteLine("Case 0 or 1");
// Most switch sections contain a jump statement, such as
// a break, goto, or return. The end of the statement list
// must be unreachable.
break;
case 2:
Console.WriteLine("Case 2");
break;
// The following line causes a warning.
Console.WriteLine("Unreachable code");
// 7 - 4 in the following line evaluates to 3.
case 7 - 4:
Console.WriteLine("Case 3");
break;
// If the value of switchExpression is not 0, 1, 2, or 3, the
// default case is executed.
default:
Console.WriteLine("Default case (optional)");
// You cannot "fall through" any switch section, including
// the last one.
break;
}
}
}