This code runs fine
float ff = 5.5f;
int fd = (int) ff;
Console.Write(fd);
Where as this code doesnt
float ff = 5.5f;
object jf = ff;
int fd = (int) jf;
Console.Write(fd);
What rule in the runner causes this to happen?
You can cast a float to an int, but you can't cast a boxed float to an int - you have to unbox it first.
int fd = (int)(float)jf;
Read Eric Lippert's post Representation and Identity for more details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With