这是一个非常简单的代码。但这是我第一次用C#编写控制台应用程序。简单地说,使用这两行
int iRoll;
Console.WriteLine("Roll Dice and input number for your move");
iRoll = Console.Read();
如果我从cmd窗口输入数字5(无论是来自数字键盘还是键盘),iRoll的值是53.为什么会这样?
答案 0 :(得分:9)
Console.Read
返回包含从输入流中读取的字符的int
。字符5
编码为53。
如果您想要包含该行的字符串,请改为使用ReadLine
:
string line = Console.ReadLine();
然后,您可以使用int.TryParse
:
int iRoll;
if (int.TryParse(line, out iRoll)) {
// use iRoll
} else {
// handle invalid input
}
答案 1 :(得分:1)
这是因为你读了' 5'的ASCII码。焦炭。这是53值。