隱式轉換:編譯器信任的自動轉型
在 C# 中,部分預定義數值類型之間存在隱式轉換。例如 int 轉 long 就是典型的隱式轉換。其特徵:
- 無需額外語法,直接賦值即可:
long l = i;
- 編譯器保證安全,無需詳細檢查即可執行。
- 永不失敗,且不會導致資訊遺失。
我們在第 5 章介紹的「裝箱轉換」實際上也是一種隱式類型轉換。
本章將詳細探討三大隱式轉換規則
- 隱式數值轉換(6.1.1)
- 隱式列舉轉換(6.1.2)
- 隱式參考轉換(6.1.3)
隱式轉換發生的場合
不限於賦值,還包括:
- 函式成員呼叫時的引數傳遞
- 運算式計算過程中
- 各類賦值操作
掌握隱式轉換規則,能讓你寫出更簡潔、且型別安全的代碼。