首页 新闻 会员 周边 捐助

求大神解答小女子疑惑:(int)((object)2)与(float)((object)2)的不同

0
悬赏园豆:15 [已解决问题] 解决于 2014-07-15 08:50

(int)((object)2)能拆箱成功,(float)((object)2)不能拆箱成功?这是为什么呢?

ilyyin的主页 ilyyin | 初学一级 | 园豆:191
提问于:2014-07-14 17:19
< >
分享
最佳答案
0

我觉得是这样的,当2被装箱之后转换成object引用类型,其实是在堆里加了一个引用指向了栈里的2,但是2还是是int类型。

当拆箱时,其实还是在对2进行拆箱,所以只能拆为int!

别纠结这个了,.NET的机制问题,不允许拆箱的时候改变数据类型。

收获园豆:15
Alex_QY1987 | 小虾三级 |园豆:1888 | 2014-07-14 17:46
其他回答(2)
0

int类型不能强转成float?

吴瑞祥 | 园豆:29449 (高人七级) | 2014-07-14 17:21

程序里是这样说的:不能正确拆箱

支持(0) 反对(0) ilyyin | 园豆:191 (初学一级) | 2014-07-14 17:24
0

(float)((int)((object)2))

(float)((object)2f)

Launcher | 园豆:45050 (高人七级) | 2014-07-14 17:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册