C# 取消装箱到较大值类型
以下代码导致出现C# 取消装箱到较大值类型,c#,.net,boxing,unboxing,C#,.net,Boxing,Unboxing,以下代码导致出现InvalidCastException object x = (short) 1; int y = (int) x; 我知道我可以先将x转换为short,然后转换为int,尽管这不是一个选项,因为装箱值的类型未知(但它肯定小于int) 当取消装箱到比装箱类型大的类型时,如何处理异常 编辑: 我通过使用动态类型(包括所有性能影响)解决了我的问题 相反,您应该调用Convert.ToInt32(),它可以处理任何数字类型
InvalidCastException
object x = (short) 1;
int y = (int) x;
我知道我可以先将x
转换为short
,然后转换为int
,尽管这不是一个选项,因为装箱值的类型未知(但它肯定小于int
)
当取消装箱到比装箱类型大的类型时,如何处理异常
编辑:
我通过使用动态
类型(包括所有性能影响)解决了我的问题
相反,您应该调用Convert.ToInt32()
,它可以处理任何数字类型