C# 我猜在将字符串转换为Int时,它会抛出Formatexception。因此,还需要添加带有Formatexception的catch??如果我错了,请纠正我??好的,它会删除s。MSDN文章。实际上,这两种异常都可能发生,因此您必须捕获这两种异常,而不是异
C# 我猜在将字符串转换为Int时,它会抛出Formatexception。因此,还需要添加带有Formatexception的catch??如果我错了,请纠正我??好的,它会删除s。MSDN文章。实际上,这两种异常都可能发生,因此您必须捕获这两种异常,而不是异,c#,C#,我猜在将字符串转换为Int时,它会抛出Formatexception。因此,还需要添加带有Formatexception的catch??如果我错了,请纠正我??好的,它会删除s。MSDN文章。实际上,这两种异常都可能发生,因此您必须捕获这两种异常,而不是异常,如果转换失败,是否还有其他方法返回null?我更改了示例,您可以用自己的方法将其包装起来,我猜在将字符串转换为Int时,它会引发Formatexception。因此,还需要添加带有Formatexception的catch?如果我错了,请更
我猜在将字符串转换为Int时,它会抛出Formatexception。因此,还需要添加带有Formatexception的catch??如果我错了,请纠正我??好的,它会删除s。MSDN文章。实际上,这两种异常都可能发生,因此您必须捕获这两种异常,而不是异常,如果转换失败,是否还有其他方法返回null?我更改了示例,您可以用自己的方法将其包装起来,我猜在将字符串转换为Int时,它会引发Formatexception。因此,还需要添加带有Formatexception的catch?如果我错了,请更正我?好的,它会删除。MSDN文章。实际上,这两种异常都可能发生,因此您必须同时捕获这两种异常
Type type1 = Type.GetType("System.Int32");
string test = "test";
int result;
bool wasConverted;
wasConverted = int.TryParse(test,out result)
public object SafeConvertChangeType(object value,Type targetType)
{
object result ;
try {
result = Convert.ChangeType(value, targetType);
}
catch (FormatException)
catch (InvalidCastException) {
result = null;
}
return result;
}
var result = SafeConvertChangeType("Foo",typeof(int32));
Type type1 = Type.GetType("System.Int32");
string test = "test";
object newObject = Convert.ChangeType(test, type1);