.NET包含一個特殊的Object類,可以接受任意的數據類型的值,當所傳遞或所賦值的類型不是一個特定的數據類型時,object類就提供了一種傳遞參數和賦值的通用方法。賦給object的值必須作為引用類型,并存放砸托管堆中。
裝箱:
int age = 24;
object refAge= age;
可以看的出,第一條語句創建一個變量age,并將值放在托管棧中;
第二條語句將age的值賦給引用類型。它將值24放在托管堆中。
這個值類型包裝為引用類型的過程,稱為裝箱。

拆箱:
相反,將引用類型轉換為值類型的過程稱為拆箱。拆箱將對對象強制轉換為原來的類型。對前面的對象進行拆箱。
int newAge = (int) refAge;
string newAge =(String) refAge;
拆箱的值必須和它要轉換的目標的變量有相同的類型。

通過上面簡單圖例講解,是不是對C#裝箱和拆箱原理有了大概的了解,如果想更深入的學習,請查閱下面的相關文章鏈接。
新聞熱點
疑難解答