Назад к вопросам
Junior
146
questionbank

Что такое boxing и unboxing в C#?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Boxing — это преобразование переменной типа значимости (value type) в объектную ссылку (object type) или ссылочный тип, реализованный этим типом значимости (например, interface). Это происходит неявно.

Unboxing — это явное преобразование object type обратно в value type. Происходит явным приведением типа.

// Boxing
int valueType = 123;
object objectType = valueType; // Значение 123 упаковывается в объект на куче

// Unboxing
int newValueType = (int)objectType; // Значение 123 из объекта на куче распаковывается обратно в тип значимости