CType 函式 (Visual Basic)

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

CType(expression, typename)

組件

  • expression
    任何有效的運算式。如果 expression 值在 typename 允許的範圍外,Visual Basic 會擲回例外狀況。

  • typename
    在 Dim 陳述式的 As 子句中合法的任何運算式,也就是任何資料型別、物件、結構、類別或介面的名稱。

備註

提示提示

您也可以使用下列函式會執行型別轉換:

CType 是以內嵌方式編譯的,也就是說,轉換程式碼是評估運算式的部分程式碼。在其他情況下並不需要呼叫程序就能完成轉換,使執行速度。

如果轉換不會定義 expression 到 typename (例如,從 Integer 到 Date),則 Visual Basic 會顯示編譯時期錯誤訊息。

如果轉換會在執行階段,適當的例外狀況。如果縮小轉換失敗,最可能發生 OverflowException 結果。如果轉換是 undefined,在擲回的 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)

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

請參閱

工作

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

參考

型別轉換函式 (Visual Basic)

轉換函式 (Visual Basic)

OverflowException

InvalidCastException

Operator 陳述式

概念

.NET Framework 中的型別轉換