C#中的装箱(boxing)拆箱(unboxing)
来源:互联网 发布:tps商城软件下载 编辑:程序博客网 时间:2024/05/16 10:51
在.net中的通用类型系统(Common Type system,CTS)中,所有类型都是对象(object),都派生自System.Object。CTS支持两组类型:值类型和引用类型。如果变量是 值类型那么这个变量就包含实际的数据。也就是在内存中确实会分配那么一部分空间给这个变量并存储值,引用类型就类似一个类型安全的指针,本身并没有开辟内 存空间去存储东西。这玩意是基础,罗嗦的重复一下。
所谓装箱和拆箱是一个很抽象的概念
装箱是将值类型转换为引用类型
拆箱是将引用类型转换为值类型
利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来
例如:
int val = 100;
object obj = val;
Console.WriteLine (“对象的值 = {0}", obj);
这是一个装箱的过程,是将值类型转换为引用类型的过程
int val = 100;
object obj = val;
int num = (int) obj;
Console.WriteLine ("num: {0}", num);
这是一个拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程
PS:被装过箱的对象才能被拆箱
装箱是将值类型转换为引用类型
拆箱是将引用类型转换为值类型
利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来
例如:
int val = 100;
object obj = val;
Console.WriteLine (“对象的值 = {0}", obj);
这是一个装箱的过程,是将值类型转换为引用类型的过程
int val = 100;
object obj = val;
int num = (int) obj;
Console.WriteLine ("num: {0}", num);
这是一个拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程
PS:被装过箱的对象才能被拆箱
- C#中的"装箱"(boxing)与"拆箱"(unboxing)
- C#中的装箱(boxing)拆箱(unboxing)
- C#中的装箱(boxing)拆箱(unboxing) (续)
- C#中的装箱(boxing)拆箱(unboxing)
- C#中的"装箱"(boxing)与"拆箱"(unboxing)
- C#中的“装箱”(boxing)与“拆箱”(unboxing)
- C#中的装箱(Boxing)和拆箱(Unboxing)
- C#中的“装箱”(boxing)与“拆箱”(unboxing)
- C#中的“装箱”(boxing)与“拆箱”(unboxing)
- vc.net中的“装箱”(boxing)与“拆箱”(unboxing)
- 装箱(Boxing)拆箱(unboxing)
- C#装箱(Boxing)和拆箱(Unboxing)
- C#装箱和拆箱(Boxing 和 UnBoxing)
- C#中的“装箱”(boxing)与“拆箱”(unboxing)_C#教程
- C#中的“装箱”(boxing)与“拆箱”(unboxing)_C#教程
- C#“装箱”(boxing)与“拆箱”(unboxing)
- 装箱和拆箱(boxing&unboxing)-.NET
- C#的Boxing/Unboxing解析
- C#常见面试题(附答案)
- C/C++ 程序设计员应聘常见面试试题深入剖析
- RoR企业应用实践之二:Ajax与维护
- JAVA自学之路 一:学会选择
- T-SQL 生成 两个新的真正的公历年历
- C#中的装箱(boxing)拆箱(unboxing)
- 从红帽到“乌邦托”
- 关于Theme中.skin与css需要理清的关系
- 世界各地程序开发高手谈Java__很好的一片文章(绝对转载)
- 单独设置DrowDownList某一项的前景颜色
- Linux网络编程-服务器和客户机的信息函数(3)
- JSP标签
- eclipse构建php环境显示行号
- 魔鬼交易员害了法兴银行却救了全球经济?