C# 程式設計中的裝箱和拆箱之間的區別


C# 提供了兩種方法將值型別連結到引用型別,反之亦然。這兩種連結方法分別稱為裝箱和拆箱,其中裝箱用於將值型別轉換為物件型別,而拆箱用於將物件型別轉換為值型別。

以下是裝箱和拆箱之間最重大的區別。

序號要點裝箱拆箱
1實現裝箱使引用型別可以指向值型別。拆箱的過程主要是從裝箱的物件中獲取值。
2儲存在裝箱的情況下,儲存在堆疊中的值將被複制到儲存在堆記憶體中的物件中。另一方面,在拆箱的情況下,儲存在堆記憶體中的物件的值將被複制到儲存在堆疊中的值型別中。
3轉換型別裝箱通常稱為隱式轉換。拆箱是指顯式轉換。

裝箱與拆箱的示例

JavaTester.java

 即時演示

public class JavaTester {
   public static void main(String[] args){
      int val = 119;
      // Boxing
      Object o = val;
      // Change the value of val
      val = 120;
      //unboxing
      int x = (int)o;
      System.out.println("Value of x is {0}"+ x);
      System.out.println("Value type of val is {0}"+val);
      System.out.println("Object type of val is {0}"+o);
   }
}

輸出

Value of x is {0}119
Value type of val is {0}120
Object type of val is {0}119

更新於:2019 年 9 月 17 日

680 次瀏覽

開啟您的 職業 生涯

完成課程獲得認證

立即開始
廣告