如何在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时发生一些事情。

谢谢你的时间。再见。

如何在c#中禁用用户的输入和循环转义

您可以检查第一个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;
            }
        }