C#中的装箱和拆箱
来源:互联网 发布:分析结果与关系的算法 编辑:程序博客网 时间:2024/06/06 01:58
下面我们先看例子,然后对着例子解析:
//装箱 int i = 42; object o = i; i++; Console.WriteLine("i的值为{0}", i); Console.WriteLine("o的值为{0}", o); //拆箱 int j = (int)o; Console.WriteLine("j的值为{0}", j);运行结果:
1.装箱
object对象可以引用任何类型的任何对象,也可以引用值类型
这种将一个数据项从栈自动复制到堆的行为称为装箱(Boxing),上面的i++之后,o的值没改变的原因是:如果修改一个变量的原始值,那么不会修改堆上现有的值,因为它只是一个副本。
2.拆箱
为了访问已装箱的值,必须进行一次强制类型转换,这个操作会检查是否能够安全地将一种类型转换成另一种类型,然后执行转换。
注意:拆箱时,指定的类型必须与装箱的类型完全一致!!!
0 0
- c#中的装箱和拆箱理论
- 浅C#中的装箱和拆箱
- C#中的装箱和拆箱
- C#中的装箱和拆箱
- 浅C#中的装箱和拆箱
- c#中的装箱(boxing)和拆箱(unboxin)
- C#中的装箱(Boxing)和拆箱(Unboxing)
- C# 装箱和拆箱
- C# 装箱和拆箱
- C# 装箱和拆箱
- c#装箱和拆箱
- C# 装箱和拆箱
- c#装箱和拆箱
- c#装箱和拆箱
- C# 装箱和拆箱
- C# 装箱和拆箱
- C# 装箱和拆箱
- C# 装箱和拆箱
- Linux sysctl.conf优化方案
- 01背包
- ui文件的使用
- mysql的grant权限
- html中的小技巧
- C#中的装箱和拆箱
- boost完全开发指南第2章-处理时间4 (日期区间date_period)
- Eclipse+windows7安装Python插件PyDev
- 项目视频讲解_传播智客OA
- Effective C++读书笔记(4)
- Python学习(三)——————基础知识汇总(三)
- hdu 2795 Billboard
- 二十四 随机函数 rand,srand,random,srandom 的区别与使用
- 我的个人知识管理工具一览及相关经验技巧