C# Console.ReadLine()可选

C# Console.ReadLine()可选,c#,console,key,C#,Console,Key,我有以下控制台应用程序: private static bool run = false; static void Main(string[] args) { int choice = 0; while (!run) { Console.WriteLine("\n\t\t Press '1', '2' or '3' to continue"); choice = int.Parse(Console.ReadLine());

我有以下控制台应用程序:

private static bool run = false;

static void Main(string[] args)
{
    int choice = 0;  

    while (!run) 
    {
        Console.WriteLine("\n\t\t Press '1', '2' or '3' to continue");

        choice = int.Parse(Console.ReadLine());

        switch (choice)
        {
            case 1:
                {
                    Console.Clear();
                    Console.WriteLine("\n\t\t you pressed 1");
                }
            case 2:
                {
                    Console.Clear();
                    Console.WriteLine("\n\t\t you pressed 2");
                }
            case 3:
                {
                    Console.Clear();
                    Console.WriteLine("\n\t\t you pressed 3");
                }
            default:
                {
                    Console.Clear();
                    Console.WriteLine("\n\t\t Invalid key");
                    break;
                }
        }
    }

    Console.ReadLine();
}
但是,使用此代码:

choice = int.Parse(Console.ReadLine()); 
我希望这样,当用户按下1键或2键或3键时,可以立即执行相应的代码,而不是在按下所需键后必须按下enter键。有哪些替代方案

非常感谢任何帮助/指导/提示,
谢谢

那么呢?

那么呢?

你能举个例子,说明我如何使用ReadKey这个行选项=int.Parse(Console.ReadLine());Thanks@Ari:
ReadKey
返回一个
ConsoleKeyInfo
,您可以直接打开它的
,而无需对整数进行任何解析。如果你真的必须解析某些东西,你可以解析
KeyChar
。@Ari:…但是,你也可以直接打开这个字符。@Ari:我通常不想“铁路化”我的答案,有多种方法可以使用
ReadKey
,我无法告诉人们应该使用哪种方法。我想这些评论对于那些不知道的人来说已经足够了,还有我链接到的文档也给出了一个例子;Thanks@Ari:
ReadKey
返回一个
ConsoleKeyInfo
,您可以直接打开它的
,而无需对整数进行任何解析。如果你真的必须解析某些东西,你可以解析
KeyChar
。@Ari:…但是,你也可以直接打开这个字符。@Ari:我通常不想“铁路化”我的答案,有多种方法可以使用
ReadKey
,我无法告诉人们应该使用哪种方法。我认为这些评论对于那些不知道的人来说已经足够了,还有我链接的文档,也给出了一个例子。