调试时整数直接转换为Ascii字符

问题描述 投票:0回答:1
        Console.WriteLine("Enter a number: ");
        int x = Console.Read();
        Console.WriteLine("The number entered is : {0}",x);

当我尝试输入任何数字而不是显示确切的数字时,因为我已经输入了它,将数字转换为其等效的 ASCII 值。如下图。

我尝试将数据类型更改为十进制或让它决定使用 var 关键字,但它仍然显示以下内容: 输入一个数字: 1 输入的数字是:49.

c# .net-8.0
1个回答
0
投票

Console.Read()
读取任何按下的字符并返回它的 ASCII/Unicode 值。

您需要

int x = int.Parse(Console.ReadLine());
来读取整行并解析它。
int.TryParse
将是一个更好的方法,因为如果用户输入无法解析为整数的内容,
int.Parse
会抛出异常。

© www.soinside.com 2019 - 2024. All rights reserved.