这是我在Visual Studio 2010 Ultimate和2008 Team System中用C#编写的程序:
class Program
{
static void Main(string[] args)
{
int a=0;
Console.WriteLine("Enter a number: ");
a = Console.Read();
Console.WriteLine("you Entered : {0}",a);
Console.ReadKey();
}
}
这就是结果:
输入一个数字: 五 你输入了:53
这怎么可能?
答案 0 :(得分:14)
当documentation明确指出时,Read()
将返回您键入的Unicode代码点的索引。
答案 1 :(得分:6)
您观察到的行为在documentation。
中有所描述
答案 2 :(得分:4)
转换为字符代码。尝试:
a = int.Parse(Console.ReadLine());
答案 3 :(得分:0)
尝试此操作以达到目标:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter a number: ");
ConsoleKeyInfo a = Console.ReadKey();
Console.WriteLine("you Entered : {0}",a.KeyChar);
Console.ReadKey();
}
}
答案 4 :(得分:0)
我是C#的新手,但据我所知,在创建变量时不必初始化变量a。编写代码的另一种方法可能是:
class Program
{
static void Main(string[] args)
{
int a;
Console.WriteLine("Enter a number: ");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("you Entered : {0}", a);
Console.ReadKey();
}
}