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#中的拆箱和裝箱怎么理解?