C# 如何在一个switch语句中合并两个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

有没有办法将这两个“case”语句合并在一起?

您只需要
中断用于当前代码,如:

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
,然后是
case
s,则不会执行case?case和Switch语句相当于GOTO标签,因此如果任何case匹配,执行就会跳到它;如果没有匹配项(且存在默认值),则跳转到默认值。所以不,顺序不重要,但您声明“…将对满足的每个条件进行评估,直到它达到中断、默认值…”。如果默认值是第一个条件,它就会停止。是的,那么Case'A'=GOTO:Case'A'=GOTO}、GOTO'break'或GOTO'default取决于编译器可以生成的JMP?
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;
        }
    }
}