在c#开关中,我可以使用案例作为默认情况吗?

时间:2016-08-02 08:22:16

标签: c# switch-statement

我可以参考默认情况而不是复制粘贴整个代码吗?

例如:

switch(n)
{
    case(1): //code here...
        break;
    case(2): //code here...
        break;
    case(3): //code here...
        break;
    default: case(2);
        break;
}

5 个答案:

答案 0 :(得分:7)

将其倒数第二,然后是default

switch(n)
{
    case(1): //code here...
        break;
    case(3): //code here...
        break;
    case(2):
    default: //code here...
        break;
}

或者简单地说,根本不包括它。如果那个案子没有被击中,那么无论如何它都将回落到默认值。

答案 1 :(得分:3)

你可以这样做。如果没有案例,它将进入default

switch(n)
{
    case(1): //code here...
        break;
    case(3): //code here...
        break;
    default:
        break;
}

无需

case(2):
default: //code here...
     break;

答案 2 :(得分:1)

如果要将默认值引用到案例2,则可以省略案例2.然后每个案例2都应跳转到案例默认值。

switch(n)
{
    case(1): //code here...
        break;

    case(3): //code here...
        break;

    default:  //case 2 should jump to this section because its not listed in your switch-cases
        break;
}

答案 3 :(得分:1)

如果您在default案例中没有任何代码,则可以省略案例2并将该代码移至默认值,就像其他答案所说的那样。

如果您确实需要在default案例中运行代码,然后再转到案例2,则可以使用goto。以下是使用int

的示例
int n = 5;
switch(n)
{
    case 1: //code here...
        break;
    case 2: //code here...
        break;
    case 3: //code here...
        break;
    default:
        //some code
        goto case 2;
}

答案 4 :(得分:0)

这样的事情:

switch(n)
{
    case(1): //code here...
        break;
    case(3): //code here...
        break;
    case(2):
    default: 
        break;
}