【问题标题】:"Cannot fall through" Switch Error“不能通过”开关错误
【发布时间】:2015-11-24 20:28:01
【问题描述】:
} else {
    int indexGenerator = numberGenerator.Next(1, 4);
    int answer1 = finalUserInput - theCorrectAnswer;
    switch (indexGenerator) {
        case 1:
            Console.WriteLine("You are off by" + answer1);
        case 2:
            Console.WriteLine("So close. Maybe if you add or subtract " + answer1 + "?");

当我尝试让开关工作时,会弹出一条错误消息,指出控制案例无法从案例 1 掉到另一个。

【问题讨论】:

    标签: c# switch-statement


    【解决方案1】:

    您需要在 switch 语句中每个 case 的末尾添加break;

    switch (indexGenerator) {
      case 1:
          Console.WriteLine("You are off by" + answer1);
          break; 
      case 2:
          Console.WriteLine("So close. Maybe if you add or subtract " + answer1 + "?");
          break;
    }
    

    【讨论】:

    • 哦,我明白了。谢谢你。 :)
    • @Ken 您能否将此答案标记为正确(单击对勾图标),以便问题在解决后关闭,谢谢
    • 当然。不过我需要等四分钟。
    【解决方案2】:

    这里的问题是您忘记将break; 添加到您的代码中。您的代码应如下所示。

    switch (indexGenerator){
                    case 1:
                        Console.WriteLine("You are off by" + answer1);
                    break;
                    case 2:
                        Console.WriteLine("So close. Maybe if you add or subtract " + answer1 + "?");
                    break;
    }
    

    使用break 的目的基本上是告诉您的程序您正在脱离语句的case: 部分。

    【讨论】:

      【解决方案3】:

      您需要在 case 1 块的末尾添加一个 break

      }
      else
      {
          int indexGenerator = numberGenerator.Next(1, 4);
          int answer1 = finalUserInput - theCorrectAnswer;
          switch (indexGenerator)
          {
              case 1:
                  Console.WriteLine("You are off by" + answer1);
                  break; // missing break
              case 2:
                  Console.WriteLine("So close. Maybe if you add or subtract " + answer1 + "?");
                  break; // missing break
      

      case 2 块的末尾添加一个,正如我所展示的那样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-05
        • 1970-01-01
        • 2020-08-02
        • 2013-09-29
        相关资源
        最近更新 更多