Поделиться через


Функция CType (Visual Basic)

Возвращает результат явного преобразования выражения в заданный тип данных, объект, структуру, класс или интерфейс.

CType(expression, typename)

Части

  • expression
    Любое допустимое выражение.Если значение expression находится вне диапазона, разрешенного typename, то Visual Basic создает исключение.

  • typename
    Любое корректное выражение, с оператором As в операторе Dim, т.е. имя любого типа данных, объекта, структуры, класса или интерфейса.

Заметки

СоветСовет

Можно также использовать следующие функции щелкните преобразование типов:

  • Функции преобразования типа, например CByte, CDbl и CInt, которые выполняют преобразование к определенному типу данных.Для получения дополнительной информации см. Функции преобразования типов (Visual Basic).

  • Оператор DirectCast (Visual Basic) или Оператор TryCast (Visual Basic).Эти операторы требуют, чтобы один тип наследуется от или реализуют другого типа.Они могут предоставлять несколько более высокую производительность, чем CType при преобразовании значений с типом данных Object.

Функция CType компилируется путем подстановки кода. Это означает, что код преобразования является частью кода, предназначенного для вычисления выражения.В некоторых случаях не вызов процедуры для выполнения преобразования, который делает выполнение быстрее.

Если не определено преобразование из expression в typename (например, из Integer в Date), то Visual Basic отобразит сообщение ошибки времени компиляции.

При сбое преобразования во время выполнения, соответствующее исключение.При сбое сужающего преобразования наиболее частым результатом является OverflowException.Если преобразование не указано, создается в InvalidCastException.Например, это может произойти, если expression имеет тип Object и его тип во время выполнения не имеет преобразование в тип typename.

Если тип данных expression или typename класса или структуры, можно указать CType в тех классе или структуре как оператор преобразования.Это заставляет CType выполняться как перегруженный оператор.После этого можно элемент управления расширение функциональности преобразований и наоборот класса или структуры, включая исключения, которые могут быть созданы.

Перегрузка

Оператор CType также может быть перегружен для класса или структуры, определяемой вне данного кода.Если код осуществляет преобразование в или из такого класса или структуры, то необходимо понять поведение его оператора CType.Для получения дополнительной информации см. Процедуры операторов (Visual Basic).

Преобразование динамических объектов

Преобразования типов динамических объектов выполняются динамически определяемыми пользователем преобразованиями, использующего методы TryConvert или BindConvert.При работе с динамическими объектами, используйте метод 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)

Ссылки

Функции преобразования типов (Visual Basic)

Функции преобразования (Visual Basic)

OverflowException

InvalidCastException

Оператор Operator

Основные понятия

Преобразование типов в .NET Framework