logo search
CSharp_Prog_Guide

Упаковка-преобразование и распаковка-преобразование3

Операции упаковки-преобразования и распаковки-преобразования позволяют обрабатывать типы значения в качестве объектов. Упаковка-преобразование пакетов типа значения выполняется внутри экземпляра ссылочного типа Object. Это позволяет хранить этот тип значения в куче, в которой производится сборка мусора. Операция распаковки-преобразования извлекает тип значения из объекта. В приведенном примере выполнена операция упаковки-преобразования целочисленной переменой i, которая назначена объекту o.

int i = 123;

object o = (object)i; // boxing

Можно затем выполнить операцию распаковки-преобразования объекта o и назначить его целочисленной переменной i:

o = 123;

i = (int)o; // unboxing