C# 检测控制台中的按键

C# 检测控制台中的按键,c#,C#,可能重复: 一个简单的问题 我正在写一个简单的基于文本的冒险游戏,我已经被困在第一部分了!如何使我的控制台检查按键,即:按回车键继续 Console.Write("Press Enter to continue!") Console.ReadLine(); 直到用户点击Enter键,程序才会继续 您还可以使用Console.ReadKey检查其他特定键: 用法: Console.Write("Press 'Y' to continue."); WaitForKey(ConsoleKey.Y)

可能重复:

一个简单的问题

我正在写一个简单的基于文本的冒险游戏,我已经被困在第一部分了!如何使我的控制台检查按键,即:按回车键继续

Console.Write("Press Enter to continue!")
Console.ReadLine();
直到用户点击Enter键,程序才会继续

您还可以使用Console.ReadKey检查其他特定键:

用法:

Console.Write("Press 'Y' to continue.");
WaitForKey(ConsoleKey.Y);
包含读取和写入“控制台”所需的所有方法

比如说

Console.Write("Press Enter to continue!")  
do
{
    ConsoleKeyInfo c = Console.ReadKey();
} while (c.Key != ConsoleKey.Enter);
你可以用

Console.ReadKey();
阅读1键。然后,您可以这样做:

string key = Console.ReadKey().Key.ToString();
if(key.ToUpper() == "W")
    Console.WriteLine("User typed 'W'!");
else 
    Console.WriteLine("User did not type 'W'");
或:

如果您不在乎用户是否键入除按enter键以外的任何内容,您可以执行以下操作:

// Some code here
Console.ReadLine();
// Code here will be run after they press enter

一件事,那就行了

private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
        if (e.Key == Key.Return)
        {
            Console.Write("Press Enter to continue!")
        }
 }

如果我错了,请纠正我,但不管输入什么,这难道不允许它继续吗?@NortonTaylor说按enter键继续后,这会很奇怪@诺顿·泰勒:你说得对,无论输入什么文本,它都允许用户继续;但直到用户真正按下Enter键,它才会继续。无论如何,我已经添加了一个等待任意密钥的方法示例。好的,谢谢Dan:我似乎在实际查找WaitForkey时遇到了问题可能是重复的:从技术上讲不是,我实际上没有要求显示密钥。你是对的,它不是完全重复的,但是如果你将这里的答案与那里的答案进行比较,你会发现它们非常相似。不是来自C,而是在*.cmd Windows批处理脚本中,您可以使用pause命令停止脚本执行,并使其在显示“按任意键继续”时等待按下任意键。。。给用户。OP说这是一个控制台应用程序。。。编辑:Nevermind。。你做了一个鬼鬼祟祟的忍者编辑!那么在这种情况下,Console.ReadKey可能是最好的选择。如果用户按下空格键?
// Some code here
Console.ReadLine();
// Code here will be run after they press enter
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
        if (e.Key == Key.Return)
        {
            Console.Write("Press Enter to continue!")
        }
 }