CType 函式 (Visual Basic)

將運算式明確轉換為指定資料型別、物件、結構、類別或介面的結果傳回。

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 當做「多載運算子」(Overloaded Operator)。 如果執行這個動作,就能控制與類別或結構之間的轉換行為,包含擲回的例外狀況。

多載化

也可以在程式碼外部所定義的類別或結構上多載 CType 運算子。 如果程式碼與此類類別或結構進行轉換,請務必了解其 CType 運算子的行為。 如需詳細資訊,請參閱運算子程序 (Visual Basic)

轉換的動態物件

如果您要處理動態物件 (由使用 TryConvertBindConvert 方法的使用者定義動態轉換執行型別轉換),請使用 CTypeDynamic 方法來轉換動態物件。

範例

下列範例會使用 CType 函式來將運算式轉換為指定的資料型別。

Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)

請參閱

工作

HOW TO:定義轉換運算子 (Visual Basic)

參考

型別轉換函式 (Visual Basic)

轉換函式 (Visual Basic)

OverflowException

InvalidCastException

Operator 陳述式