我是c#的新手,请原谅我,但我只想知道为什么要将int转换为int32?
例如我将lowerRange
声明为int,但稍后当我读取用户输入时,我必须将其转换为int32否则它会给我一个错误,说我“无法隐式转换类型”字符串'到'int'。
或者我假设我必须转换,因为用户正在输入一个字符串,我必须将其转换为int,在这种情况下,我想知道为什么我必须将lowerRange
声明为int第一名?
int lowerRange;
...
lowerRange = Convert.ToInt32(Console.ReadLine());
答案 0 :(得分:8)
Console.ReadLine()
方法返回string
,如果要将其分配给Convert.ToInt32
整数变量,则需要将其解析并转换为整数(使用lowerRange
)
所以基本上你有这个:
int lowerRange;
...
string userInput = Console.ReadLine();
lowerRange = Convert.ToInt32(userInput);
另请注意ReadLine
方法返回字符串的原因是因为用户可以输入任何内容作为输入。因此,您可能希望使用TryParse
方法验证用户是否输入了有效数字,否则ToInt32
方法将引发异常:
string userInput = Console.ReadLine();
if (int.TryParse(userInput, out lowerRange))
{
// The user entered a valid integer you can use the lowerRange variable here
}
else
{
Console.WriteLine("Please enter a valid number");
}
答案 1 :(得分:0)
我必须将它转换为int32否则它 给我一个错误,说我"不能隐式转换类型'字符串'至 ' INT'
因为Console.Readline()返回来自用户输入的字符串。
或者我假设我必须转换,因为用户正在输入 字符串,我必须将其转换为int,在这种情况下,我会 想知道为什么我必须首先将lowerRange声明为int?
如果您想将lowerRange
用作字符串,则不需要将Convert
声明为整数。但是如果你想将它用作整数,那么你需要转换它(使用href
类)。