-9

这是我在 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();
     }
}

这是结果:

输入数字:5 您输入:53

这怎么可能?

4

5 回答 5

14

正如文档明确指出的那样,Read()返回您键入的 Unicode 代码点的索引。

于 2013-10-16T20:20:33.833 回答
6

您观察到的行为在文档中进行了描述。

在此处输入图像描述

于 2013-10-16T20:24:06.063 回答
4

转换为字符代码。尝试:

a = int.Parse(Console.ReadLine());
于 2013-10-16T20:20:40.373 回答
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();
     }
}
于 2013-10-16T20:29:40.490 回答
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();
     }
}
于 2013-10-16T20:51:32.993 回答