我试图让用户“输入任意一个键”,当按下该键时,它会显示“你按下'键'”。你能帮助解释这段代码中的错误吗?
这就是我写的:
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);
}
}
答案 0 :(得分:12)
尝试
Console.WriteLine("Enter any Key: ");
ConsoleKeyInfo name = Console.ReadKey();
Console.WriteLine("You pressed {0}", name.KeyChar);
答案 1 :(得分:5)
Console.Read()
会做出反应,并在按 Enter 之前返回用户键入的整个字符串。要阅读一次击键,请使用
Console.ReadKey()
答案 2 :(得分:0)
使用Console.ReadKey()
代替Read()
答案 3 :(得分:0)
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并且它可以正常工作。
答案 4 :(得分:0)
string keypress = "";
Console.Write("Enter any key: ");
keypress = Console.ReadLine();
Console.Write("\nYou pressed {0}",keypress);
答案 5 :(得分:0)
{
Console.Write("Enter any Key: ");
char name = Convert.ToChar(Console.ReadLine());
Console.WriteLine("You pressed {0}", name);
Console.ReadKey();
}