无论如何我不知道我应该怎么做...在我的应用程序中,如果输入无效,我需要让开关重复。一旦我输入不同的结果,所有应用程序都会退出。这是我的代码:
$scope.selectedRoutines
答案 0 :(得分:2)
您可以使用while
声明。
bool shouldRun = true;
while(shouldRun)
{
switch (option)
{
case 'N':
Console.WriteLine("Creating New App...");
shouldRun = false;
break;
case 'L':
Console.WriteLine("Loading App...");
shouldRun = false;
break;
case 'O':
Console.WriteLine("Loading Options...");
shouldRun = false;
break;
case 'Q':
Console.WriteLine("Exiting Application...");
System.Environment.Exit(1);
break;
default:
Console.WriteLine("Invalid input.");
shouldRun = true;
break;
}
}
答案 1 :(得分:2)
将switch
置于循环中
bool invalidInput = true;
while (invalidInput)
{
string str = Console.ReadLine();
char option = char.Parse(str);
switch (option)
{
case 'N':
Console.WriteLine("Creating New App...");
invalidInput = false;
break;
case 'L':
Console.WriteLine("Loading App...");
invalidInput = false;
break;
case 'O':
Console.WriteLine("Loading Options...");
invalidInput = false;
break;
case 'Q':
Console.WriteLine("Exiting Application...");
System.Environment.Exit(1);
break;
default:
Console.WriteLine("Invalid input.");
break;
}
}
答案 2 :(得分:1)
要重复切换,您需要使用一个循环。我认为您正在寻找以下内容:
bool ExitFlag = true;
while (ExitFlag)
{
ExitFlag = false;
switch (option)
{
case 'N':
Console.WriteLine("Creating New App...");
break;
case 'L':
Console.WriteLine("Loading App...");
break;
case 'O':
Console.WriteLine("Loading Options...");
break;
case 'Q':
Console.WriteLine("Exiting Application...");
System.Environment.Exit(1);
break;
default:
Console.WriteLine("Invalid input.");
ExitFlag = true;
break;
}
}
注意如何运作:
让ExitFlag
成为控制while循环的布尔值(停止迭代并在ExitFlag
为false时退出while)。并使用true
进行初始化。在每次控件进入while时,标志设置为false
,这样我们就可以避免在多种情况下将其设置为false。只有在执行true
情况时(即无效输出),该标志才会设置为default
,因此循环仅在此条件下重复。
答案 3 :(得分:-1)
您可以在C#中使用Goto:label选项。
参考:https://msdn.microsoft.com/en-us/library/13940fs2.aspx
ReadAgain:
string str = Console.ReadLine();
char option = char.Parse(str);
//The switch itself:
switch (option)
{
case 'N':
Console.WriteLine("Creating New App...");
break;
case 'L':
Console.WriteLine("Loading App...");
break;
case 'O':
Console.WriteLine("Loading Options...");
break;
case 'Q':
Console.WriteLine("Exiting Application...");
System.Environment.Exit(1);
break;
default:
Console.WriteLine("Invalid input.");
goto ReadAgain;
break;
}
Console.ReadLine();