如何读取用户按下的键并将其显示在控制台上?

我试图让用户“输入任意一个键”,当按下该键时,它会显示“你按下’键’”。 你能帮忙解决这段代码中的错误吗?

这就是我写的:

using System; class Program { public static void Main(string[] args) { Console.Write("Enter any Key: "); char name = Console.Read(); Console.WriteLine("You pressed {0}", name); } } 

尝试

 Console.WriteLine("Enter any Key: "); ConsoleKeyInfo name = Console.ReadKey(); Console.WriteLine("You pressed {0}", name.KeyChar); 

当用户按Enter键时Console.Read()会做出反应,并在按Enter键之前返回用户键入的整个字符串。 要阅读一次击键,请使用

 Console.ReadKey() 
 Console.Write("Enter any Key: "); char name = (char)Console.Read(); Console.WriteLine("You pressed {0}", name); 

问题是Console.Read()返回一个整数,而不是一个char。

但是,只需通过强制转换就可以将int转换为char。 因此,如果将(char)放在read语句的前面,C#会将其转换为char并且它可以正常工作。

 string keypress = ""; Console.Write("Enter any key: "); keypress = Console.ReadLine(); Console.Write("\nYou pressed {0}",keypress); 
 { Console.Write("Enter any Key: "); char name = Convert.ToChar(Console.ReadLine()); Console.WriteLine("You pressed {0}", name); Console.ReadKey(); } 

使用Console.ReadKey()而不是Read()