如何禁用用户';当用户在c#中操作时,循环的输入和转义?
今天我有一个非常简单的问题,我知道可能会有不好的反馈。我想摆脱使用c#在控制台应用程序上禁用用户输入的循环。我有这个:如何禁用用户';当用户在c#中操作时,循环的输入和转义?,c#,loops,while-loop,C#,Loops,While Loop,今天我有一个非常简单的问题,我知道可能会有不好的反馈。我想摆脱使用c#在控制台应用程序上禁用用户输入的循环。我有这个: while (true) { Console.ReadKey (true); } string key = Console.ReadKey().Key.ToString(); if (key.ToUpper() == "F10") { Console.WriteLine ("
while (true) {
Console.ReadKey (true);
}
string key = Console.ReadKey().Key.ToString();
if (key.ToUpper() == "F10") {
Console.WriteLine ("Hello!");
}
基本上,我想禁用用户在控制台上的写入功能,但我希望当用户按F10时会发生一些事情
谢谢你抽出时间。再见。试试这个
bool userInput = true;
while (userInput) {
Console.ReadKey (true);
string key = Console.ReadKey().Key.ToString();
if (key.ToUpper() == "F10") {
Console.WriteLine ("Hello!");
userInput = false;
}
}
您可以从第一个
控制台检查输入。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代码>代替限制输入=假
将带您脱离循环。这应该会起作用
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!");
}
在C#中,布尔值关键字不存在<代码>布尔值
和布尔值
存在。这也是一个无限循环.Woops,太习惯java了哈哈。是的,我现在明白了,应该在while循环中包含整个if语句,对吗?谢谢您的时间。我试试这个。这是一个无限循环。是什么触发了循环的“中断”?如果没有,循环将永远不会结束。因此:一个无限循环。这是一个无限循环,除非被Ctrl+C
终止。OP希望在按下F10
时终止循环。根据他的说明,他希望:1。“…禁止用户在控制台上写入…”2。“…当用户按下F10时,发生了一些事情。”用户输入仍处于启用状态。继续按F10
,您将看到您好代码>在控制台上。他指定他希望“…禁止用户在控制台上写入…”而不是输入本身。否则,他不会要求F10执行功能。谢谢您抽出时间。我试试这个。谢谢你抽出时间。我试试这个谢谢你的时间。我试试这个。