6

在 C 语言中,我可以使用 getch() 来获取输入,而无需用户按 Enter。例如

#include <conio.h>

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

什么函数可以在 C# 中做同样的事情?(不按回车键)。

4

4 回答 4

6

您可以使用Console.ReadKey()

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

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

int Main()
{
    char c = Console.ReadKey().KeyChar;
    return 0;
}
于 2014-03-01T09:18:58.300 回答
3

您可以使用Console.ReadKey().KeyChar从 中读取字符而Console无需Enter按键

来自 MSDN:

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

尝试这个:

char ch=Console.ReadKey().KeyChar;
于 2014-03-01T09:19:21.893 回答
3
getch();

不显示控制台中的输入

因此你在 C# 中需要这个

char ch = Console.ReadKey(true).KeyChar;

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

char ch1 = Console.ReadKey(false).KeyChar;
于 2014-03-01T12:41:32.607 回答
1

你可以得到一个整数Console.Read()

然后您可以使用将其转换为字符Convert.ToChar(x)

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

于 2014-03-01T09:21:08.900 回答