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 用作重载运算符。 如果这样做,则可以控制转换在类或结构之间进行的转换的行为,包括可能引发的异常。

重载

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)

参考

类型转换函数 (Visual Basic)

Conversion 函数 (Visual Basic)

OverflowException

InvalidCastException

Operator 语句