CType 函式
更新:2007 年 11 月
將運算式明確轉換為指定資料型別、物件、結構、類別或介面的結果傳回。
CType(expression, typename)
參數
expression
任何有效的運算式。如果 expression 值在 typename 允許的範圍外,Visual Basic 會擲回例外狀況。typename
在 Dim 陳述式的 As 子句中合法的任何運算式,也就是任何資料型別、物件、結構、類別或介面的名稱。
備註
CType 是以內嵌方式編譯的,也就是說,轉換程式碼是評估運算式的部分程式碼。有時並不需要呼叫程序就能完成轉換,因此能加快執行速度。
若未將轉換從 expression 定義成 typename,例如從 Integer 到 Date,Visual Basic 會顯示編譯時期錯誤訊息。
若在執行階段發生轉換失敗,則會發生適當的例外狀況。如果縮小轉換失敗,最可能發生 OverflowException 結果。若未定義轉換,會發生 InvalidCastException。例如,如果 expression 屬於型別 Object,且其執行階段型別並未轉換成 typename,就可能發生這種情況。
如果 expression 或 typename 的資料型別是已定義的類別或結構,則會將該類別或結構上的 CType 定義為轉換運算子。這會將 CType 當做「多載運算子」。如果執行這個動作,就能控制與類別或結構之間的轉換行為,包含擲回的例外狀況。
多載化
也可以在程式碼外部所定義的類別或結構上多載 CType 運算子。如果程式碼與此類類別或結構進行轉換,請務必瞭解其 CType 運算子的行為。如需詳細資訊,請參閱運算子程序。
範例
下列範例會使用 CType 函式來將運算式轉換為指定的資料型別。
Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)