如何正确输出C#中显性类型转换后的值?

新手上路,请多包涵

在一个简单的C#程序中,我写下了一个输出输入信息的控制台应用程序。以下是程序代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _001
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Name:");
            string strName = Console.ReadLine();
            Console.WriteLine("Age:");
            int intAge = Convert.ToInt32(Console.Read());
            Console.WriteLine("Your name is {0}.\nYour Age is {1}.", strName, intAge);
            Console.ReadKey();
        }
    }
}

但真正执行程序时,当我在"Age:"后输入一任意数字,却不正确返回该数字:
图片描述

有点儿方。几次测试,值都不同。是“Read”的原因吗?记得Read好像是只接受一位,但为什么会出现上述返回值?

阅读 2.4k
2 个回答

楼上是对的,应该用ReadLine。不然读取的是8的Keycode,8的Keycode为56

新手上路,请多包涵

Console.ReadLine()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进