为什么用户输入的值在通过Console.Read()输入后会大幅增长?

本文关键字:输入 Read 用户 Console 为什么 | 更新日期: 2023-09-27 18:04:45

我正在制作控制台程序,我正在尝试从用户输入读取值。如果用户输入像1这样的值,它的结果是49。我相信输入代码:int classicPlant = Console.Read()是问题,但我不知道为什么,或者如果它甚至是。
我已经确定这不是我对它执行的操作的错误,因为我已经在一个单独的程序中测试了它。你知道这些数字是如何增值的吗?

为什么用户输入的值在通过Console.Read()输入后会大幅增长?

int classicPlant = Console.Read()是罪魁祸首。

Console.Read返回输入项的字符值。在ASCII中,'1' = 49,'3' = 51。

'1' - 1 == 48'3' + 1 == 52

因此,修复Read使用Integer.Parse()或检查范围并减去48或类似的