1)
class Program
{
static void Main(string[] args)
{
int a;
a = Convert.ToInt32( "a" );
Console.Write(a);
}
}
我收到带有消息的
FormatException
: Input string was not in a correct format
。这很好理解。2)
class Program
{
static void Main(string[] args)
{
int a;
a = Convert.ToInt32( Console.Read() );
Console.Write(a);
}
}
在第二种情况下,我可以输入任何字符,例如
abc
并显示在控制台中。问题:为什么在第二种情况下不抛出
FormatException
以及为什么它可以成功处理非 int
字符?更新
使用返回
Console.ReadLine()
类型的 string
方法,也没有删除 FormatException
并成功在控制台中打印任何字符。class Program
{
static void Main(string[] args)
{
int a;
a = Convert.ToInt32(Console.ReadLine());
Console.Write(a);
}
}
最佳答案
return type of Console.Read()
is an int
。
然后调用 Convert.ToInt32(int)
:
关于c# - 当 ToInt32() 方法的参数类型无效时,不会抛出 "FormatException",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31830657/