开始本节再次提问

时间:2016-04-20 03:56:30

标签: c# switch-statement

我有一个愚蠢的小编码项目。我正在尝试用来学习C#而我的问题是我遇到了它但我不知道如何接受default并将其返回到上一个问题,它必须提出问题的位置再次,如果用户没有输入可供选择的东西。我试过循环,我一直在破坏,我已经尝试过if / else而且我只编写了很短的时间,所以这在很大程度上是非常陌生的。任何帮助,将不胜感激。

Console.WriteLine("question blah blah blah");

string choice1 = "blah1";
string choice2 = "blah2";
string choice3 = "blah3";

string userChoice = Console.ReadLine();

switch (userChoice)
{
  case "1":
    //Dostuff
  case "2":
    //Dostuff
  case "3":
    //Dostuff
  default:
    Console.WriteLine("you didn't enter something i could recognize")
    break 
}

2 个答案:

答案 0 :(得分:1)

一种选择是使用do-while循环和bool变量来控制执行。

bool loop;

do
{
    Console.WriteLine("question blah blah blah");

    string choice1 = "blah1";
    string choice2 = "blah2";
    string choice3 = "blah3";

    string userChoice = Console.ReadLine();

    // Set to false by default
    loop = false;

    switch (userChoice)
    {
        case "1":
            //Dostuff
            break;
        case "2":
            //Dostuff
            break;
        case "3":
            //Dostuff
            break;
        default:
            Console.WriteLine("you didn't enter something i could recognize");
            // Set to true to iterate again.
            loop = true;
            break;
    }
} while(loop);

答案 1 :(得分:0)

欢迎SO社区!

  

通常,此代码可以放在do-while循环中,并根据用户输入设置flag,用户输入决定是否再次搜索用户输入 - 可以在切换之前设置一次假设用户将做出有效选择的快乐情况,或者在用户将输入其他内容的默认情况下。在打印问题之前,您可以选择清除屏幕。