C 顯式轉換關鍵字 explicit

2022-01-15 16:19:42 字數 925 閱讀 7176

不同於隱式轉換,顯式轉換運算子必須通過轉換的方式來呼叫。 如果轉換操作會導致異常或丟失資訊,則應將其標記為explicit。 這可阻止編譯器靜默呼叫可能產生意外後果的轉換操作。

省略轉換將導致編譯時錯誤 cs0266。

該引用摘自:explicit(c# 參考)

顯示轉換關鍵字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 又可以...