Книга: C# для профессионалов. Том II

Упаковка

Упаковка

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

int J = 10;
object BoxedJ = (object)J;

Упаковка действует как любое другое преобразование типов, но надо знать, что содержимое переменной скопируется в кучу и будет создана ссылка (так как объект BoxedJ является ссылочным типом).

Обычная причина для использования упаковки значения состоит в передаче его в метод, который ожидает в качестве параметра ссылочный тип. Можно также распаковать упакованное значение, преобразуя его просто назад в первоначальный тип данных.

int J = 10;
object BoxedJ = (object)J;
int K = (int)BoxedJ;

Отметим, что процесс распаковки будет инициировать исключение, если попытаться преобразовать значение к неправильному типу данных.

Оглавление книги


Генерация: 0.642. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз