C#中的拆箱和裝箱怎么理解?

拆箱是把“引用”類型轉(zhuǎn)換成“值”類型,

裝箱是把“值”類型轉(zhuǎn)換成“引用類型” 


原因是有時某些方法的參數(shù)要求使用“引用”類型,

而你想把“值”類型的變量通過這個參數(shù)傳入,就需要使用這個操作。 


拆箱和裝箱 其實就是類型轉(zhuǎn)換 在C#里那么叫 

裝箱:低類型-->高類型 例:object i="aa"; 
這個是 string --> object 叫裝箱 

拆箱:高類型-->低類型 例:String i=(String)object; 
這個是 string --> int 叫拆箱 

例如: 
bool aa=true; 
object bb=aa; //裝箱 
bool cc=(bool)bb; //拆箱 


注意:

裝箱時生成的是全新的引用對象,這會有時間損耗,也就是造成效率降低。

因此避免在循環(huán)體內(nèi)使用裝箱和拆箱,或者采用提前裝箱方式進行優(yōu)化,

也可以通過重載函數(shù)和泛型來避免裝箱與拆箱。



原文鏈接:C#中的拆箱和裝箱怎么理解?