我想知道是否有人可以解释我看到的OverflowException。为什么在发生小数字 - >字节转换时会发生OverflowException,但不会发生uint-> byte?
考虑下面的代码:
uint fred = 32768;
byte wilma = (byte)fred;
decimal bamBam = fred;
wilma = (byte)bamBam;
(铸造decimal
到byte
时)我只在最后一行得到一个OverflowException异常。当在uint
中将相同的值转换为byte
时,我不明白。
我不明白为什么是这样的情况。有什么建议么?