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

C# 顯式型別轉換總覽:強制轉型、拆箱、三大分類與隱含轉換包含關係

     編輯:關於C語言

顯式型別轉換(強制轉型)要求開發者以 (T)expr 明確標示目標型別。它包含所有隱含轉換(寫成顯式形式合法但多餘),並擴充至可能失敗、遺失資訊的場景。

核心對比

特性隱含轉換顯式轉換
語法無標記(TargetType)
安全性編譯期保證執行期可能失敗
資訊遺失無(精度除外)常見
包含關係—⊇ 隱含轉換

三大顯式轉換分類(第 6.2 節)

  1. 6.2.1 顯式數值轉換:整數截斷、浮點捨入、decimal 特殊規則(見 78922)。
  2. 6.2.2 顯式列舉轉換:整數↔列舉、列舉↔列舉、委託元素型別(見 78923)。
  3. 6.2.3 顯式參考轉換:向下轉型、介面解包、陣列/委派反向轉換、執行期檢查(見 78924)。

拆箱屬於顯式參考轉換


object obj = 10;        // 裝箱(隱含)
int i = (int)obj;       // 拆箱(顯式參考轉換)
// 等價於 int i = (int)(object)obj; // 執行期型別檢查

發生場合

  • 運算式計算中:var x = (int)3.14;
  • 指派:short s = (short)30000;
  • 方法引數:M((Derived)baseObj);

最佳實務

  • 能用隱含轉換絕不寫顯式(減少視覺雜訊)。
  • 參考轉換優先用 is/as/型別模式避免例外。
  • 數值轉換在 checked 內容執行以捕捉溢位。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved