不同於隱式轉換,顯式轉換運算子必須通過轉換的方式來呼叫。 如果轉換操作會導致異常或丟失資訊,則應將其標記為該引用摘自:explicit(c# 參考)explicit
。 這可阻止編譯器靜默呼叫可能產生意外後果的轉換操作。省略轉換將導致編譯時錯誤 cs0266。
顯示轉換關鍵字explicit
能向閱讀**的每個人清楚地指示您要轉換型別。
該引用摘自:使用轉換運算子(c# 程式設計指南)
仍以student為例,取語文和數學成績的和,不使用explicit
class student
/// /// 數學成績
///
public double math
}
求和:
class program
;//a的總成績 語文和資料的總分數
console.writeline(a.chinese + a.math);
}}
使用explicit
class student
/// /// 數學成績
///
public double math
public static explicit operator double(student a)
}
求和:
class program
;//a的總成績 語文和資料的總分數
console.writeline((double)a);
}}
C 轉換關鍵字
implicit為隱式的轉換 explicit為顯示的轉換 通過這種方法可以有效地驗證資料,對引數進行處理。不管是否實用,在此先記錄下來 以後回顧用 class 轉換關鍵字 set public myage private myage int32 age 整型到myage 的隱式轉換 public ...
C 隱式轉換關鍵字 implicit
implicit關鍵字用於宣告隱式的使用者定義型別轉換運算子。如果可以確保轉換過程不會造成資料丟失,則可使用該關鍵字在使用者定義型別和其他型別之間進行隱式轉換。引用摘自 implicit c 參考 仍以student求和舉例 class student 數學成績 public double math...
C 顯示轉換關鍵字explicit詳解
想要理解顯示轉換,首先得明白與之對應得隱式轉換是什麼。隱式轉換關鍵字是implicit,意思是隱藏的,類建構函式預設情況下即宣告為implicit 隱式 且不顯示出來,因此常常被我們所忽略。下面詳細講解隱式轉換得過程 假如乙個類a的建構函式是a int i 則在變數宣告的時候,既用a a 1 又可以...