C#控制台按键事件

C# console key press event

我刚开始学习c#控制台事件。

有没有一种方法可以让 c# 应用程序只需按一个字母就可以自动跳转到新命令。

下面有这个迷你代码。

我正在开发一个迷你文本库。

我刚刚使用了 Console.Read(); 所以用户将键入字母 Y 然后他仍然需要按回车键 我想要的是,如果用户将按 "y" 或键盘上的任意键,语句将转到 if 语句。

可以吗

        Console.Write("Press Y to start the game.");

        char theKey = (char) Console.Read();


        if (theKey == 'y' || theKey == 'Y')
        {
            Console.Clear();
            Console.Write("Hello");
            Console.ReadKey();
        }
        else
            Console.Write("Error");

您应该使用 ReadKey 方法 (msdn):

Console.Write("Press Y to start the game.");

char theKey = Console.ReadKey().KeyChar;

if (theKey == 'y' || theKey == 'Y')
{
    Console.Clear();
    Console.Write("Hello");
    Console.ReadKey();
}
else
    Console.Write("Error");

ReadKey方法的return值是ConsoleKey枚举所以你可以在if条件下使用它:

Console.Write("Press Y to start the game.");

ConsoleKey consoleKey = Console.ReadKey().Key;

if (consoleKey == ConsoleKey.Y)
{
    Console.Clear();
    Console.Write("Hello");
    Console.ReadKey();
}
else
    Console.Write("Error");