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

C# 如何在一个案例中处理多个值?,c#,.net,switch-statement,case-statement,C#,.net,Switch Statement,Case Statement,如何在一个案例中处理多个值?因此,如果我想对值“第一个选项”和“第二个选项”执行相同的操作 这条路对吗 switch(text) { case "first option": { } case "second option": { string a="first or Second"; break; } } 文档中称为“多标签”,可在MSDN上的中找到 switch语句可以包含任意数量的switch节,每个节可以有

如何在一个
案例中处理多个值?因此,如果我想对值
“第一个选项”
“第二个选项”
执行相同的操作

这条路对吗

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

文档中称为“多标签”,可在MSDN上的中找到

switch语句可以包含任意数量的switch节,每个节可以有一个或多个大小写标签(如下面的字符串大小写标签示例所示)。但是,任何两个大小写标签都不能包含相同的常量值

更改后的代码:

string a = null;

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

请注意,我拉出了
字符串a
,因为除此之外,您的
a
将只能在
开关中使用

,如果您希望能够将两者作为不同的情况一起处理和分开,则最好只使用
if
语句:

if (first && second)
{
    Console.WriteLine("first and second");
}
else if (first)
{
    Console.WriteLine("first only");
}
else if (second)
{
    Console.WriteLine("second only");
}
这是可能的

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

有关一些指导原则,请参阅文章。最让我吃惊的是,第一个案例缺少了一个
break
statement友好的建议-习惯@Max It's want,因此执行了下面的案例。谢谢@Max这篇文章很有帮助。我故意逃过一段时间来处理案件,让死刑继续执行。第一个案件后的括号是我问题的根本原因。重复的。这不完全一样吗。我以为案例“a”:案例“b”只是一个空的“a”语句,但它会掉下来。不,在掉下来的过程中,你会执行第一个块。在C#中,第一个选项不能有代码块。顺便说一句,我误读了,它并没有明确地称为“多重标签”。@helb:好的。明白了。在中编辑了文档的重要部分。谢谢。@helb:我也注意到这个名字不准确,但它会提示你在哪里搜索。