可以使用&&或|| 在switch语句中?Visual C#

use*_*044 4 c# if-statement switch-statement

所以我正在制作一个Rock Paper Scissor游戏,我对它做了一些调整,包括生活和其他事情.现在我陷入了switch语句.我的if语句工作正常:

private void Result_TextChanged(object sender, EventArgs e)
{
     if (playerscore == 1 || pcscore == 1)
     {
          PlayerLife.Image = Properties.Resources.Five;
     }
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何将其转换为switch语句?

private void Result_TextChanged(object sender, EventArgs e)
{              
    switch (playerscore || pcscore)
    {
         case 1:
             PlayerLife.Image = Properties.Resources.Five;
             break;
    }
}
Run Code Online (Sandbox Code Playgroud)

似乎没有用.

Rah*_*thi 8

简单的答案是否.你不能这样使用它.

Switch使用单个表达式.

您可以查看MSDN以获取详细信息.

你可以尝试这样: -

  if (playerscore == pcscore)
        {
            switch (playerscore)
            {
                case 1:
                PlayerLife.Image = Properties.Resources.Five;
                break;
            }
        }
Run Code Online (Sandbox Code Playgroud)

编辑:-

正如Jeppe Stig Nielsen在评论中评论的那样, You can switch on any expression of a suitable type. That expression may contain ||. There can be many case labels associated with each switch section in a switch block.

但就个人而言,这不是一个好习惯.您可以尝试使用if语句.

如果您愿意,可以尝试这样做:

 switch (playerscore == 1 || pcscore == 1)
Run Code Online (Sandbox Code Playgroud)