我目前有用户输入温度值,并根据温度给出建议。我想设置一个循环来询问用户输入,直到用户按下" N"或" n"。
例如:
//用户输入
//临时推荐
//继续?按任意键N或n退出。
任何按下的键都会再次询问用户输入,N或n会导致程序感谢屏幕上的用户不再显示临时推荐。教授建议我们使用额外的方法来达到预期的效果。
当前错误的代码:
Console.WriteLine("Continue? Press any key to continue, N or n to exit:\n");
{
if (Console.ReadKey().Key == ConsoleKey.N)
else if (Console.ReadKey().Key == ConsoleKey.n)
return;}
}
Console.WriteLine("Thank you");
答案 0 :(得分:1)
您可以在while循环中使用局部变量,如下所示:
static void main(string[] args)
{
bool keepGoing = true;
while (keepGoing)
{
DoYourWork();
Console.WriteLine("Continue? Press any key to continue, N or n to exit:");
var userWantsToContinue = Console.ReadLine();
keepGoing = userWantsToContinue?.ToUpper() != "N";
}
}
答案 1 :(得分:0)
输入do..while
循环:)
private static void DoWhatever(string data)
{
// process your temp
}
// inside main somewhere
Console.WriteLine("Enter temp:");
do
{
var temp = Console.ReadLine();
DoWhatever(temp);
Console.WriteLine("Continue? Press any key to continue, N or n to exit:\n");
}while(Console.ReadKey().Key != ConsoleKey.N);
Console.WriteLine("Thank you");
答案 2 :(得分:0)
您可以使用 break 退出循环
while(true)
{
//process temperature conversion
Console.Write("Continue? Press any key to continue, N or n to exit:");
if (Console.ReadKey().Key == ConsoleKey.N)
{
break;
}
}