Console.ReadLine()替代方案

时间:2012-02-02 01:47:04

标签: 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());

        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时,会立即执行相应的代码,而不是在按下所需的键后按下回车键。有哪些替代方案?

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

1 个答案:

答案 0 :(得分:12)

那么ReadKey怎么样?