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


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

Обновлен: Ноябрь 2007

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

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

Сужающие преобразования изменяют целевую копию исходного значения, однако при этом возможна потеря информации. Например дробные значения округляются при преобразовании в целый тип, а числовые типы при преобразовании в тип 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

Структуры: пользовательские типы данных