如何在c#中禁用用户的输入和循环转义
本文关键字:输入 循环 转义 用户 | 更新日期: 2023-09-27 18:09:05
今天我有一个很简单的问题,我知道可能会有不好的反馈。我想摆脱使用c#在控制台应用程序上禁用用户输入的循环。我有这个:
while (true) {
Console.ReadKey (true);
}
string key = Console.ReadKey().Key.ToString();
if (key.ToUpper() == "F10") {
Console.WriteLine ("Hello!");
}
基本上,我想禁用用户在控制台上写字,但我希望当用户按下F10时发生一些事情。
谢谢你的时间。再见。
您可以检查第一个Console.ReadKey()
的输入,看看它是否为F10
。然后,您可以创建一个布尔值来检查F10
是否被击中并将其应用于while
循环,如下所示:
bool restrictInput = true;
while (restrictInput)
{
string key = Console.ReadKey(true).Key.ToString();
if (key.ToUpper() == "F10")
{
Console.WriteLine("Hello!");
restrictInput = false;
}
}
你也可以用break;
代替restrictInput = false;
,这样你就可以跳出while
的循环了。
应该可以。
while (true)
{
var input = Console.ReadKey(true);
Console.WriteLine(input.Key.ToString() + " pressed");
if (input.Key == ConsoleKey.F10)
{
Console.WriteLine("Breaking loop.");
break;
}
}
这应该是你想要的:
while (true)
{
if(Console.ReadKey(true).Key == ConsoleKey.F10)
Console.WriteLine("Hello!");
}
try this
bool userInput = true;
while (userInput) {
Console.ReadKey (true);
string key = Console.ReadKey().Key.ToString();
if (key.ToUpper() == "F10") {
Console.WriteLine ("Hello!");
userInput = false;
}
}