Strange casting behaviour. Cannot cast object (int) to long

后端 未结 5 1939
陌清茗
陌清茗 2020-12-29 01:16

I have the following code:

int intNumber1 = 100;
object intNumber2 = 100;
bool areNumberOfTheSameType = intNumber1.GetType() == intNumber2.GetType(); // TRUE         


        
5条回答
  •  太阳男子
    2020-12-29 01:51

    You need to unbox to the same type that was boxed.

    object intNumber2 = 100L;
    // or value in the long type range
    // object intNumber2 = 9223372036854775806;
    
    long result = (long)intNumber2;
    

提交回复
热议问题