装箱和拆箱
装箱就是隐式的将一个值型转换成引用型对象,比如:
int i=0;
System.Object obj=i;
这个过程就是装箱!就是将i装箱
拆箱就是将一个引用型对象转换成任意值型,比如:
int i=0;
System.Object obj=i;
int j=(int)obj;
这个过程前两句是将i装箱,后一句将obj拆箱
再写一个代码,看进行了几次拆装箱。
int i=0;
System.Object obj=i;
Console.Write(i+","+(int)obj);
其中共发生了3次装箱和一次拆箱,^-^,看出来了吧
第一次将i装箱,第二次是输出的时候将i转成string类型,而string类型为引用类型,即又是装箱,第三次就是将(int)obj转换成string类型,装箱!
拆箱就是将(int)obj,将obj拆箱