如何在一个案例中处理多个值?

时间:2015-01-14 13:05:23

标签: c# .net switch-statement case-statement

如何处理一个case内的多个值?那么,如果我想对值"first option""second option"执行相同的操作?

这是正确的方法吗?

switch(text)
{
    case "first option":
    {
    }
    case "second option":
    {
        string a="first or Second";
        break;
    }
}

3 个答案:

答案 0 :(得分:16)

它被称为多个标签'在文档中,可以在MSDN上的C# documentation找到。

  

switch语句可以包含任意数量的开关部分,每个部分可以有一个或多个case标签(如下面的字符串case标签示例所示)。但是,没有两个案例标签可能包含相同的常量值。

您修改后的代码:

string a = null;

switch(text)
{
    case "first option":
    case "second option":
    {
        a = "first or Second";
        break;
    }
}

请注意,我已将string a拉出,因为您的a仅在switch内可用。

答案 1 :(得分:3)

可能

switch(i)
                {
                    case 4:
                    case 5:
                    case 6: 
                        {
                            //do someting
                            break; 
                        }
                }

答案 2 :(得分:1)

如果您希望能够将两者一起处理并作为不同的案例分开,那么您最好只使用if语句:

if (first && second)
{
    Console.WriteLine("first and second");
}
else if (first)
{
    Console.WriteLine("first only");
}
else if (second)
{
    Console.WriteLine("second only");
}