[英]Cast object containing int to float results in InvalidCastException
[英]Cant cast float to int if object
這段代碼運行正常
float ff = 5.5f;
int fd = (int) ff;
Console.Write(fd);
這段代碼沒有
float ff = 5.5f;
object jf = ff;
int fd = (int) jf;
Console.Write(fd);
跑步者中有什么規則會導致這種情況發生?
float ff = 5.5f;
object jf = ff;
int fd = (int) jf;
在這里,當您從float到object裝箱時,jf是float的實際類型,並且您將裝箱的float直接拆箱到int,而運行時不接受。
因此,您需要先取消裝箱使其浮動,然后再次將其強制轉換為int。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.