Im preparing for a very tricky c# exam and this question popped up while doing so. I have the following code:
uint zzz = -12u;
-12u
is recognized as System.Uint32
literal but it can only be stored in variable of type long
. Why is that ?
What it is doing is taking the unsigned int 12 and trying to convert it into a negative value (the -
) which requires a conversion to a type that can handle negative numbers as an unsigned int cannot.
Because it is an unsigned int it has possible values outside the range of int, so conversion to a long is required.
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