Изменение значений в процессе преобразований (Visual Basic)

При преобразовании типа значения копия исходного значения сохраняется по целевому адресу преобразования. Однако эта копия не является точным образом исходного значения. Целевой тип данных хранит значения по-разному; даже представленное значение может быть изменено в зависимости от выполняемого преобразования.

Изменения в ходе расширяющих и сужающих преобразований

Сужающие преобразования изменяют целевую копию исходного значения, однако при этом возможна потеря информации. Например дробные значения округляются при преобразовании в целый тип, а числовые типы при преобразовании в тип Boolean упрощаются до значений True или False.

Расширяющие преобразования сохраняют исходное значение, но могут изменить его представление. Это происходит при преобразовании из целого типа в Decimal или из Char в String.

Исходное значение в результате преобразования не меняется.

Изменения в процессе преобразования ссылочных типов

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

' Assume class cSquare inherits from class cShape.
Dim shape As cShape
Dim square As cSquare = New cSquare
' The following statement performs a widening
' conversion from a derived class to its base class.
shape = square

См. также

Задачи

Практическое руководство. Преобразование объекта к другому типу в Visual Basic

Ссылки

Сводка типов данных (Visual Basic)

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

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

Расширяющие и сужающие преобразования (Visual Basic)

Явные и неявные преобразования (Visual Basic)

Преобразование значений между строковыми и другими типами (Visual Basic)

Преобразование массивов (Visual Basic)

Программирование без типов в Visual Basic

Другие ресурсы

Преобразование типов в Visual Basic

Структуры (Visual Basic)