如何读取单个键盘字符(如getch)?

时间:2014-03-01 09:17:16

标签: c# input getch

在C中,我可以使用getch()获取输入,而无需用户按Enter键。 e.g。

#include <conio.h>

int main()
{
    char c;
    c = getch();
    return 0;
}

在C#中,哪些功能可以做同样的事情? (不按回车键。)

4 个答案:

答案 0 :(得分:5)

您可以使用Console.ReadKey()

  

获取用户按下的下一个字符或功能键。

返回有关按下的键的信息。然后,您可以使用KeyChar属性来获取按下的键的Unicode字符:

int Main()
{
    char c = Console.ReadKey().KeyChar;
    return 0;
}

答案 1 :(得分:2)

您可以使用Console.ReadKey().KeyCharConsole读取字符,而无需按Enter

来自MSDN:

  

获取用户按下的下一个字符或功能键。该   按下的键显示在控制台窗口中。

试试这个:

char ch=Console.ReadKey().KeyChar;

答案 2 :(得分:1)

你可以得到Console.Read()

的整数

然后您可以使用Convert.ToChar(x)

将其转换为字符

来源:http://msdn.microsoft.com/en-us/library/system.console.read(v=vs.110).aspx

答案 3 :(得分:1)

getch();

未在控制台中显示 输入

因此,你需要在C#

中使用它
char ch = Console.ReadKey(true).KeyChar;

如果您需要在控制台上显示输入显示,那么您需要

char ch1 = Console.ReadKey(false).KeyChar;