最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

装箱,拆箱

互联网 admin 36浏览 0评论

装箱,拆箱

装箱是将值类型转换为引用类型
拆箱是将引用类型转换为值类型
利用装箱和拆箱功能,可通过允许值类型的任何值与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:被装过箱的对象才能被拆箱

 

简单的说。装箱就是将值类型(value type)转换为引用类型(reference type)的过程,并从栈中搬到堆中.你既知object obj=i为装箱,object obj=new int_Box(i)有何难理解?

装箱拆箱的过程中,堆和栈的转换.直接影响性能,使用装拆箱是C#面向对象的精髓.处理大型的程序和软件,特别是有大批量数据的时候,这个很有必要的,比如代码片段中
ArrayList myArrayList = new ArrayList();
for(count = 0; count < 5000000; count++)
myArrayList.Add(count); //装箱
如果不使用装箱,就必须使用string [] strList = new string[5000000];

装箱,拆箱

装箱是将值类型转换为引用类型
拆箱是将引用类型转换为值类型
利用装箱和拆箱功能,可通过允许值类型的任何值与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:被装过箱的对象才能被拆箱

 

简单的说。装箱就是将值类型(value type)转换为引用类型(reference type)的过程,并从栈中搬到堆中.你既知object obj=i为装箱,object obj=new int_Box(i)有何难理解?

装箱拆箱的过程中,堆和栈的转换.直接影响性能,使用装拆箱是C#面向对象的精髓.处理大型的程序和软件,特别是有大批量数据的时候,这个很有必要的,比如代码片段中
ArrayList myArrayList = new ArrayList();
for(count = 0; count < 5000000; count++)
myArrayList.Add(count); //装箱
如果不使用装箱,就必须使用string [] strList = new string[5000000];

发布评论

评论列表 (0)

  1. 暂无评论