C#中的拆箱和装箱怎么理解?
拆箱是把“引用”类型转换成“值”类型,
装箱是把“值”类型转换成“引用类型”
原因是有时某些方法的参数要求使用“引用”类型,
而你想把“值”类型的变量通过这个参数传入,就需要使用这个操作。
拆箱和装箱 其实就是类型转换 在C#里那么叫
装箱:低类型-->高类型 例:object i="aa";
这个是 string --> object 叫装箱
拆箱:高类型-->低类型 例:String i=(String)object;
这个是 string --> int 叫拆箱
例如:
bool aa=true;
object bb=aa; //装箱
bool cc=(bool)bb; //拆箱
注意:
装箱时生成的是全新的引用对象,这会有时间损耗,也就是造成效率降低。
因此避免在循环体内使用装箱和拆箱,或者采用提前装箱方式进行优化,
也可以通过重载函数和泛型来避免装箱与拆箱。
原文链接:C#中的拆箱和装箱怎么理解?