操作符'||'不能应用于'string'类型的操作数和& # 39;字符串# 39;

本文关键字:操作数 字符串 string 不能 应用于 操作符 类型 | 更新日期: 2023-09-27 18:06:15

Visual Studio告诉我,我不能在我的开关中应用or语句。

我甚至可以把它应用到我的开关上吗?

         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;
            }

操作符'||'不能应用于'string'类型的操作数和& # 39;字符串# 39;

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

也就是说,你只能写

a || b

ab均为bool型或表达式求值为bool

话虽如此,这个

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

无效

你可以这样做:

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

当我们想要一个switch在两个或多个不同的情况下进入同一个分支时,我们这样做。

你用错了语法,这是:

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

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

或者您也可以将switch字符串转换为小写,以便只有一个case语句:

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