c# 装箱与拆箱问题
来源:互联网 发布:算法这本书怎么样 编辑:程序博客网 时间:2024/06/04 18:51
1、装箱
装箱时将值类型转换成object类型或此值类型到所实现接口类型的隐式转换。需要进行如下两项操作:
- 为此值类型在堆中分配一个对象实例;
- 将该值复制到新的对象中
int i=123;object o = i;
如下图所示。
2、拆箱
拆箱是与装箱相反的操作,是从object类型到值类型或从接口类型到实现该接口类型的显式转换。主要操作有以下两项:
- 首先检查对象实例,以确保它是给定值类型的装箱值;
- 将该值从实例复制到值类型变量中。
int i=123;object o = i;int j = (int)o;
如下图所示。
注意:要在运行时成功拆箱值类型,被拆箱的项必须是对一个对象的引用,该对象是先前通过装箱该值类型的实例创建的。尝试拆箱null 会导致NullReferenceException。尝试拆箱对不兼容值类型的引用会导致InvalidCastException。
- c# 装箱与拆箱问题
- c# 拆箱装箱问题
- C#装箱与拆箱
- C#装箱与拆箱
- c# 装箱与拆箱
- C#装箱与拆箱
- C#装箱与拆箱
- C#装箱与拆箱
- C#拆箱与装箱
- C# 装箱与拆箱
- C#装箱与拆箱
- C#装箱与拆箱
- C#拆箱与装箱
- C# 装箱与拆箱
- C# 装箱与拆箱
- C#装箱与拆箱
- C# 的装箱与拆箱的问题
- c# 的拆箱与装箱
- javascript 正则表达式
- android记事本项目----原型已经基本完成
- 重学模电(一) 稳压二极管
- c#不可忍受之慢——谁是罪魁祸首
- WinCE6.0 USB驱动架构分析
- c# 装箱与拆箱问题
- Perl 学习笔记 --- 03
- C#的性能到底有多差?
- 怎样打造高性能的移动用户体验
- 扫雷游戏制作全过程01 地雷生成及表示
- C#获取当前系统信息的类
- 使用Exchange 2007部署邮件记录管理
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- sap 开发ftp功能需要的一些函数