C 裝箱與拆箱

2021-07-05 02:50:12 字數 378 閱讀 7570

在前面提到了值型別和引用型別。這裡就來和大家一起了解一下,他們互相轉換的過程裝箱(boxing)、拆箱(unboxing)。

由於c#中所有的資料型別都是由基類system.object繼承而來的,所以值型別和引用型別的值可以通過顯式(或隱式)操作相互轉換,而這轉換過程也就是裝箱(boxing)和拆箱(unboxing)過程。

裝箱 是值型別到裝換成引用型別時發生。

拆箱 是引用型別示轉換為值型別時發生。

int i = 10;

object obj = (object)i; //裝箱,值會被拷貝到堆(heap)中

i = (int)obj; //拆箱,值會從堆(heap)拷貝到棧(stack)中

C 裝箱與拆箱

要掌握裝箱與拆箱,就必須了解cts及它的特點。net重要技術和基礎之一的cts common type system 顧名思義,cts就是為了實現在應用程式宣告和使用這些型別時必須遵循的規則而存在的通用型別系統。net將整個系統的型別分成兩大類 value type 和 reference type...

C 裝箱與拆箱

裝箱是將 值型別轉換為 引用型別 拆箱是將 引用型別 轉換為值型別 利用裝箱和拆箱功能,可通過允許 值型別的任何值與 object 型別 的值相互轉換,將值型別與引用型別鏈結起來 例如 int val 100 object obj val console.writeline 物件的值 obj 這是乙...

C 裝箱與拆箱

在生活中,我們都喜歡吃水果。大家都知道水果不但為我們提供豐富的膳食纖維,還有維生素及其它營養。例如 吃士多啤梨培養耐心補充維生素,吃香蕉保持快樂心情,吃葡萄增強免疫抗衰老,吃梨幫助器官排毒等等,所有我們經常去買水果,而一般水果都是裝在箱子裡,廠商把水果裝箱賣給經銷商,經銷商在拆箱賣給我們。這就是生活...