我是c#的新手,请原谅我,但我只想知道为什么要将int转换为int32?
例如,我声明lowerRange为一个int,但后来在我读取用户输入时,我必须将其转换为int32,否则它会给我一个错误,说我"不能隐式地将类型'string'转换为'int'.
或者我假设我必须转换,因为用户输入一个字符串,我必须将其转换为int,在这种情况下,我想知道为什么我必须首先声明lowerRange为int?
int lowerRange;
...
lowerRange = Convert.ToInt32(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)
如果要将其分配给整数变量,则该Console.ReadLine()方法返回string需要解析并转换为整数(使用Convert.ToInt32)的方法lowerRange.
所以基本上你有这个:
int lowerRange;
...
string userInput = Console.ReadLine();
lowerRange = Convert.ToInt32(userInput);
Run Code Online (Sandbox Code Playgroud)
另请注意,该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");
}
Run Code Online (Sandbox Code Playgroud)