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");
我刚开始学习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");