声明 - 键入击键后从控制台输出奇怪的声明

时间:2015-04-14 00:33:43

标签: c# while-loop do-while

有人可以解释为什么在控制台上输入charint时会出现奇怪的输出。请使用窗口控制台告诉我为什么这样的位置有13-10这样的数字和其他数字。

namespace TestingVariousLoops
{
    class Program
    {
        static void Main(string[] args)
        {
            int someValue;
            do
            {
                someValue = (int)Console.Read();
                Console.WriteLine(someValue);
            }
            while (someValue != 6);
        }
    }
}

3 个答案:

答案 0 :(得分:2)

因为Console.Read()方法返回您输入的键盘字符的数字表示(ASCII)。要查看此内容,请将其转换回字符:

  Console.WriteLine(someValue + "  char = " + Convert.ToChar(someValue) );

示例,我运行并输入A,输出显示:

  65 char = A

答案 1 :(得分:1)

当您将控制台读取转换为int时,您将获得所输入内容的ASCII值。例如,您点击A和Enter。你会看到65,13,​​10。这是因为13是回车的ASCII,10是换行。在Windows系统上,当您按下键盘上的[Enter]键时,控制台会读取这两个符号。

答案 2 :(得分:0)

返回的值是您键入的字符的数值。如果你把它投射到一个字符,它将打印出你刚输入的内容。