如何使用像(如果)的开关案例?

0 c# if-statement case switch-statement

我想在我的代码中使用switch,但我不知道如何使用&&以防万一!这是我的代码

string a;
a = System.Convert.ToString(textBox1.Text);

if (a.Contains('h') && a.Contains('s'))
{
    this.BackColor=Color.Red;
}
else if (a.Contains('r') && a.Contains('z')) 
{
    this.BackColor=Color.Black;

}

else if (a.Contains('a') && a.Contains('b'))
{
    this.BackColor = Color.Pink;

}
Run Code Online (Sandbox Code Playgroud)

Ser*_*nov 5

如果您可以使用更高版本的C#,您可以这样写:

switch (st)
{
     case var s when s.Contains("asd") && s.Contains("efg"):
         Console.WriteLine(s);
         break;
     case var s when s.Contains("xyz"):
         break;
     // etc.
}
Run Code Online (Sandbox Code Playgroud)

在您的特定情况下,不需要引入新的局部变量(s),因此代码可以写为

switch(st)
{
     case var _ when st.Contains("asd") && st.Contains("efg"):
         Console.WriteLine(st);
         break;
     case var _ when st.Contains("xyz"):
         break;
     // etc.
}
Run Code Online (Sandbox Code Playgroud)

您可以在MSDN上阅读它.

  • 像这一样令人敬畏并且做了OP想要的事情.我仍然更喜欢`if`语句xD (3认同)