共用方式為


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 函式來將運算式轉換為 Single 資料類型。

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

如需其他範例,請參閱 隱含和明確轉換 (Visual Basic)

請參閱

工作

如何:定義轉換運算子 (Visual Basic)

參考

類型轉換函式 (Visual Basic)

轉換函式 (Visual Basic)

OverflowException

InvalidCastException

Operator 陳述式

概念

.NET Framework 中的類型轉換