box unboxing C#编程指南

box在堆栈中创建一个新的对象,性能消耗大
int i = 123;

// Boxing copies the value of i into object o.

object o = i;  

image

 

 

unboxing  1.检查对象实例

               2.将该值从实例复制到值类型变量中

 

int i = 123;      // a value type

object o = i;     // boxing

int j = (int)o;   // unboxing

image

 

装箱和折箱都会引用性能的消耗,如:ArrayList使用泛型集合:(List<T>) 来避免box

参考自:http://msdn.microsoft.com/zh-cn/library/yz2be5wk.aspx

http://msdn.microsoft.com/zh-cn/library/ms173196.aspx

你可能感兴趣的:(C#)