We all know in C# that if you have an
int you can cast it into a
double like this:
int int_a = 5;
double dbl_a = (double)int_a;
But what if the
int was boxed in a
System.Object and you tried to cast it to a
double like in the code below. Would it run?
object obj_intCastedToObject = (object)int_a;
double dbl_objectCastedToDouble = (double)obj_intCastedToObject; // Is this valid?
The answer is it compiles, but at runtime you get a
System.InvalidCastException. Check out the following code snippet on how you could cast this correctly.