在C#中,类型转换失败通常会抛出一个InvalidCastException
异常。要解决这个问题,可以使用以下方法之一:
as
关键字进行安全类型转换,如果转换失败则返回null,而不会抛出异常。MyClass obj = someObj as MyClass;
if (obj != null)
{
// 转换成功
}
else
{
// 转换失败
}
int result;
if (int.TryParse(inputString, out result))
{
// 转换成功
}
else
{
// 转换失败
}
try
{
int result = Convert.ToInt32(inputString);
// 转换成功
}
catch (FormatException ex)
{
// 转换失败
}
使用上述方法可以避免类型转换失败时抛出异常,使代码更加健壮和可靠。