先看下面的代码:
复制代码 代码如下:
int tempi = 1;
object o = tempi;
double tempd = (double) o;
编译时可以通过,但运行时却报如下错误:
System.InvalidCastException: 指定的转换无效。
这是因为,当对一个对象进行拆箱时,转型的结果必须是它原来未装箱的类型。此处必须先转换为int类型,才能再转换为double类型。其正确格式如下:
复制代码 代码如下:
int tempi = 32;
object o = tempi;
double tempd = (double)(int) o;
在.NET框架中,装箱(boxing)通常由以下三步组成:
1.从托管堆中为新生成的引用类型对象分配内存。分配的内存大小为被装箱的值类型实例本身的大小,再加上为新生成的引用类型添加的一个方法表指针和一个SyncBlockIndex。
2.将值类型实例的字段拷贝到托管堆上新分配对象的内存中。
3.返回托管堆中新分配对象的地址。这样值类型实例也变成了一个引用类型对象。
而拆箱(unboxing)过程则如下:
1.如果要拆箱的对象为null,将会抛出一个NullReferenceException异常。
2.如果该引用指向的对象不是一个期望的值类型的已装箱对象,则拆箱失败,并抛出一个InvalidCastException异常(如本文刚开始的部分)。
3.一个指向包含在已经装箱对象中值类型部分的指针被返回。该指针指向的值类型对于引用类型对象通常所具有的附加成员(即一个方法表指针和一个SyncBlockIndex)一无所知。实际上,该指针指向的是已经装箱对象中的未装箱部分(Microsoft.NET 框架程序设计<修订版>)。
对于第3点,可以使用上面的例子来帮助理解。首先定义值类型变量tempi,它在内存中占用4个字节,装箱之后,其变成引用对象的同时,增加了一个方法表指针和一个SyncBlockIndex。对于引用类型而言,只需要传一个“引用类型”的地址,就可以得到其值、方法表指针和SyncBlockIndex。在拆箱时,传递的是其“值”的地址(未装箱的部分),即一个“int(Int32)类型”的地址(引用),它只允许读4个字节。而double类型是8个字节,因此隐式的转换是会报错的,需要先将其转换成int类型后,才能再转换为double类型。
相关推荐:
SEO需要什么语音,seo需要考虑什么 ,学生作业ai
360ai答题-赋能教育,开启智能学习新纪元,ai 果汁
seo需要买什么,seo需要考虑什么 ,ai做表头
GPT在什么时候被人熟知的?从技术突破到广泛应用的背后故事,ai商业新思维ai课程
ChatGPT中文版下载,开启智能对话新体验,婚纱ai男
如何用AI改文章,让写作更高效、精准,提升内容质量
SEO需要:如何提升网站排名,打造高效营销利器,seo怎么推广关键词
seo软文用什么论坛,seo软文是什么意思 ,爱字幕的AI变脸不见了
什么是seo寄生虫,寄生虫seo原理 ,AI 疫
ChatGPT打不开了吗?如何快速解决常见问题,恢复顺畅体验!,ai13212511845
ChatGPT网页打不开?快来看看这些解决办法,轻松恢复正常访问!,ai金色包装
seo都有什么意思,seo 啥意思 ,ai园林
软件我在AI:改变未来的智能助手
二级泛站群,zblog二级泛站群 ,李宗盛ai
ChatGPT故障:科技背后的秘密与应对策略,华为什么手机带ai功能
seo高手有什么条件,seo难上手吗 ,指南ai写作电力创新
seo要什么条件,seo都需要做什么 ,交互ai求职
SEO关键词的选择步骤:让你的网站在搜索引擎中脱颖而出,ai书法化
SEO开发:数字营销的核心驱动力,园区网站建设
SEO全套秘籍:提升网站流量与排名的终极指南,荣昌手机网站建设
AI仿写文章:开启内容创作新纪元
seo该从什么开始,seo是什么时候开始的 ,ai写作免费英文怎么说
seo配置是什么,seo设置是什么 ,ai图标制作教程
seo链接锚是什么,什么是锚链接,如何设置锚链接 ,保山智能AI
ChatGPT最新版本更新内容:智能对话体验再升级,更多功能与应用,ai证伪
优化*:打造更加高效、创新的娱乐体验,石排网站建设制作多少钱
AI智能工具的无限可能:未来已来,你准备好了吗?
如何识别文章是否由AI写作:技巧与方法解析
“新关键词”开启智慧营销新篇章,助力品牌突围,自己如何做网站seo
Chat免费,让沟通无界限,尽享智能对话时代,ai没办法置顶
ChatGPT无法加载?检查您的网络设置并尝试重启ChatGPT,助您畅享无障碍智能对话体验,ai记录人
SEO抢权:如何在竞争激烈的市场中占得先机,正规网站建设口碑好
SEO包月服务:助力企业提升网站排名与流量的长期利器,网站建设流程 报读文库
AI免费生成文章让创作变得轻松自如
seo网站反链是什么,网站反链怎么做 ,ai插画头像卡通
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
seo适合什么行业,seo适合的行业 ,在ai如何矢量化
GPT优化:让你的工作与生活更高效、更智能,Ai__79
ChatGPT安装包Windows版:让AI助力你的工作与生活,人工智能ai不是梦在线
丹东seo是什么怎么选,丹东spr ,黑发ai图
为什么行业都要做seo,为什么要做seo ,ai明信片
SEO发明:引领数字时代营销革命的力量,速卖通外贸推广网站
SEO分类:从基础到进阶,全面解析SEO优化的关键要素,新建设网站排名
SEO教研:数字营销新趋势,提升网站流量与转化率的关键,齐鲁证券网站建设
seo网络推广是什么,seo网络推广是什么意思 ,ai哪里注音
什么是seo网站推广,什么是seo网站推广 ,ai酷男人
打造高效创作体验,写文章AI软件重塑内容生产力
SEO项目:如何通过精确优化提升企业网站排名与转化率,武汉做网站优化的公司
SEO王:掌控搜索引擎优化的至高法则,助力企业飞速腾飞,网站动作优化在哪里下载
ChatGPT美区要梯子吗?轻松畅享全球智能聊天体验,ai音位