【问题标题】:Error 2 Operator '||' cannot be applied to operands of type 'string' and 'string'错误 2 运算符“||”不能应用于“字符串”和“字符串”类型的操作数
【发布时间】:2015-08-04 18:20:45
【问题描述】:

Visual Studio 告诉我不能在我的 switch 中应用 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;
            }

【问题讨论】:

  • 以后,请尝试发布一个简短但完整的程序来展示您的问题。您已经发布了 150 多行缩进不良的代码,其中非常 很少与手头的问题相关。如果您发现需要在帖子中添加额外的字词,这很好地表明您没有提供足够的信息来说明您想要达到的目标 - 不要只是输入垃圾。跨度>

标签: c# console


【解决方案1】:

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

话虽如此,你只能写

a || b

ab 都是bool 类型或计算为bool 的表达式时。

话虽如此,这个

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

无效

你可以像下面这样实现你想要的:

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

当我们想让switch 去同一分支处理两个或多个不同的情况时,我们会这样做。

【讨论】:

    【解决方案2】:

    你的语法错误,这个:

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

    应该是:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-06-30
      • 2015-04-19
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-20
      • 1970-01-01
      相关资源
      最近更新 更多