我有以下代码:
实际问题是“非引用”代码。
我想获得玩家数量(最大值= 4),但是当我通过Console.Read()
询问并且我从1到4输入任何Int时,我得到值48 + Console.Read()
。
他们只能使用Console.ReadLine()
获取“真实”输入,但这不会给我Integer
,不会返回字符串,实际上不知道如何转换{{1 (数字)到C#中的整数,因为我是新手,因为我只找到String
而不是ToNumber。
ToString()
答案 0 :(得分:4)
您可以使用
int convertedNumber = int.parse(stringToConvert)
或
int convertedNumber;
int.TryParse(stringToConvert, out covertedNumber)
将字符串转换为整数。
答案 1 :(得分:2)
您应该使用TryParse
代替,以便在用户未输入数字时可以捕获。如果int.Parse
尝试转换非数字字符串,则会引发异常。
int convertedNumber = 0;
if (!int.TryParse(stringToConvert, out convertedNumber))
{
// this code will execute if the user did not put
// in an actual number. For example, if the user entered "a".
}
TryParse
方法返回一个布尔值,该值将告诉您转换是否成功。如果成功,转换后的值将通过out
参数传递。
答案 2 :(得分:0)
要将字符串转换为整数,请使用int.Parse(yourString)
。
你得到“48 + Console.ReadKey”的原因是Console.ReadKey
返回被按下的键的代码 - 在这种情况下,是数字字符的ANSI值被压了。