为什么用户估算值在通过 Console.Read() 输入后大幅增长;

Why are user imputed values growing largely in value after input via Console.Read();

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

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

Console.Read returns item 输入的字符值。在 ASCII 中,“1”= 49,“3”= 51。

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

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