首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 拆箱轉換詳解:從 object 取回值類型的兩步驟機制

     編輯:關於C#

拆箱定義

拆箱是將 object 或介面類型顯式轉換回原始值類型,或將介面轉換為實作該介面的值類型。這是裝箱的逆向操作。

拆箱執行流程(兩步驟)

  1. 型別檢查:驗證該 object 實例確實是目標值類型的裝箱結果。
  2. 值複製:將實例內部的值複製給目標值類型變數。

程式碼範例

int i = 10;
object obj = i;      // 裝箱
int j = (int)obj;    // 拆箱:需強制轉型

拆箱流程圖

關鍵規則:型別相容性

  • 拆箱目標型別必須與原裝箱型別完全一致(含簽署)。
  • int 裝箱後只能拆箱為 int,不能直接拆箱為 long 或 short。
  • 違反會拋擲 InvalidCastException。

圖解說明

拆箱過程正是裝箱的逆向:從堆疊上的 object 參考,取出其中封裝的值型別實例,複製回堆疊變數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved