1.裝箱,值型別向引用型別轉換:
在託管堆中分配記憶體,分配的記憶體量是型別各字段所需的記憶體量+型別物件指標所需的記憶體量+同步塊索引所需的記憶體量。
值型別的字段複製到分配好的記憶體中
返回物件位址,現在物件位址是物件引用
2.拆箱,引用型別向值型別轉換:
獲取已裝箱型別中的未裝箱部分,也就是物件的原始值的各個字段
複製欄位的值從堆中到棧中的值型別例項中
//裝箱的例子
//裝箱允許將值型別隱式轉化成引用型別還是在main方法裡面
iint i = 2008;
object obj = i;
console.writeline("1.i的值為,裝箱之後的物件為",i,obj);
i = 927;
console.writeline("2.i的值為,裝箱之後的物件為",i,obj);
console.readkey();
//程式執行結果
的值為2008,裝箱之後的物件為2008.
的值為927,裝箱之後的物件為2008
//拆箱例子
//拆箱允許將引用型別顯示轉換為值型別,下面通過乙個例項演示拆箱的過程
int i = 112;
object obj = i;
console.writeline("裝箱操作:值為,裝箱之後的物件為",i,obj);
int j = (int)obj;
console.writeline("拆箱操作,裝箱的物件為,值為", obj, j);
console.readkey();
//程式執行後的結果
//裝箱操作:值為112,裝箱之後物件為112
//拆箱操作:裝箱物件為112,值為112
什麼是裝箱和拆箱
裝箱 boxing 和拆箱 unboxing 是.net提出得新概念!net的所有型別都是由基類system.object繼承過來的,包括最常用的基礎型別 int,byte,short,bool等等,就是說所有的事物都是物件。如果申明這些型別得時候都在堆 heap 中分配記憶體,會造成極低的效率!個...
C 核心概念 裝箱和拆箱 什麼是裝箱和拆箱
裝箱 boxing 和拆箱 unboxing 是c 型別系統的核心概念.是不同於c與c 的新概念!通過裝箱和拆箱操作,能夠在值型別和引用型別中架起一做橋梁.換言之,可以輕鬆的實現值型別與引用型別的互相轉換,裝箱和拆箱能夠統一考察系統,任何型別的值最終都可以按照物件進行處理.c 語言中的所有型別都是由...
C 核心概念 裝箱和拆箱 什麼是裝箱和拆箱
文章 http www.cnblogs.com xiaoshi archive 2008 05 28 1208902.html 裝 箱 boxing 和拆箱 unboxing 是c 型別系統的核心概念.是不同於c與c 的新概念!通過裝箱和拆箱操作,能夠在值型別和引用型別中架起一做橋梁.換言之,可以輕...