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 函数将表达式转换为指定的 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)

Conversion 函数 (Visual Basic)

OverflowException

InvalidCastException

Operator 语句

概念

.NET Framework 中的类型转换