错误2运营商'||'不能应用于'string'和'string'类型的操作数

时间:2015-08-04 18:20:46

标签: c# console

Visual Studio告诉我,我无法在交换机中应用或声明。

我可以将它应用到我的开关吗?

         Second_Chance_2 = System.Console.ReadLine();

            switch (Second_Chance_2)
            {
                case "":                             
                        Console.WriteLine("Error");
                        break;

                case "Alpha Area" || "alpha area": 
                       System.Console.WriteLine("Now The Real Game Begins");
                        break;

                default:
                        Console.WriteLine("Error");
                        break;
            }

2 个答案:

答案 0 :(得分:1)

||是逻辑或运算符,只能应用于可以计算为布尔值的布尔值或表达式。

话虽如此,你只能写

a || b

ab都是bool类型或表达式,评估为bool时。

话虽如此,这个

 case "Alpha Area" || "alpha area":

无效

你可以达到你想要的目标,如下所示:

case "Alpha Area":
case "alpha area":

当我们希望switch针对两个或更多不同的案例进行相同的分支时,我们会这样做。

答案 1 :(得分:1)

你的语法错误,这个:

 case "Alpha Area" || "alpha area": 

应该是:

 case "Alpha Area":
 case "alpha area": 

或者,您也可以将开关字符串转换为小写,只有1个case语句:

 switch (Second_Chance_2.ToLowerInvariant())
 {
      ...
      case "alpha area":