Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
以下代码导致InvalidCastException.
InvalidCastException
object x = (short) 1; int y = (int) x;
我知道我可以x先转换为 ashort然后转换为 an int,尽管这不是一个选项,因为装箱值的类型是未知的(但它肯定小于 an int)。
x
short
int
取消装箱到大于装箱类型的类型时,如何解决异常?
编辑: 我通过使用dynamic类型解决了我的问题(具有所有性能影响)
dynamic
您只能将对象拆箱为其确切类型。
相反,您应该调用Convert.ToInt32(),它适用于任何数字类型。
Convert.ToInt32()