【问题标题】:While statement - Strange output from console after typing keystrokeWhile 语句 - 键入击键后控制台的奇怪输出
【发布时间】:2015-06-19 11:15:10
【问题描述】:

有人可以解释为什么控制台上输入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);
        }
    }
}

【问题讨论】:

    标签: c# while-loop do-while


    【解决方案1】:

    因为 Console.Read() 方法返回您输入的键盘字符的数字表示 (ASCII)。要看到这一点,请将其转换回这样的字符:

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

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

      65 char = A
    

    【讨论】:

      【解决方案2】:

      返回的值是您输入的字符的数值。如果您将其转换为 char,它将完全打印您刚刚输入的内容。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-22
          • 1970-01-01
          相关资源
          最近更新 更多