装箱和拆箱
装箱:就是将值类型,转换为引用类型
拆箱:将引用类型,转换为值类型
int n = 10;
object o = n;//装箱。把n这个值类型,转换为object这个引用类型,叫拆箱;
int m = (int)o;//拆箱。把o这个引用类型,强制转换为值类型,叫装箱。
代码中应该尽量避免装箱或者拆箱,因为这会影响到系统性能。
string str = "123"; int a = Convert.ToInt32(str);//这语句,虽然是将引用类型转换为了值类 //型,但是并没有任何装箱或者拆箱操作。
因为发生装箱或者拆箱有一个大条件,就是看两种类型的值,是否发生了继承关系。
有继承关系,才有可能发生拆箱或装箱;
但没有继承关系,则一定不会有拆箱或装箱。