如何读取用户按下的键并将其显示在控制台上?
我试图让用户“输入任意一个键”,当按下该键时,它会显示“你按下’键’”。 你能帮忙解决这段代码中的错误吗?
这就是我写的:
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()