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

C# 隱含型別轉換總覽:數值、列舉、參考三大類規則與應用場合

     編輯:關於C語言

C# 的隱含轉換是編譯器預設允許、無需語法標記、且保證執行期不拋出例外、不遺失資訊的型別轉換。本文統整第 6 章三大子類別的完整規則。

三大隱含轉換分類

  1. 6.1.1 隱含數值轉換:低精度/小範圍 → 高精度/大範圍(見 78918)。
  2. 6.1.2 隱含列舉轉換:僅限常值 0 → 任意列舉(見 78919)。
  3. 6.1.3 隱含參考轉換:繼承、介面、陣列協變、統一基底型別(見 78920)。

隱含轉換發生的場合

  • 指派運算:long L = 10;
  • 方法呼叫引數傳遞:void M(double d) {} M(1.5f);
  • 運算式型別推導:var x = 1 + 2.0; → double
  • 回傳值轉換:int F() { return 1L; }(錯誤,需顯式)

核心特性

  • ✅ 編譯器自動插入轉換指令
  • ✅ 執行期永不失敗
  • ✅ 不遺失數值大小(部分可能損失精度)
  • ❌ 不包含使用者定義轉換運算子

裝箱屬於隱含轉換的特例

int i = 10; object o = i; 實為隱含參考轉換(實值型別 → object),會在堆積配置記憶體,效能成本遠高於純數值轉換。

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