Термин C# и .NET обновлено

Упаковка и распаковка,: что это

Коротко

Упаковка и распаковка,: boxing: значение копируется в новый объект в куче при приведении к object, ValueType или интерфейсу. Unboxing: явное приведение обратно, с проверкой точного типа ((long)(object)1 упадёт с InvalidCastException).

Определение

Boxing: значение копируется в новый объект в куче при приведении к object, ValueType или интерфейсу. Unboxing: явное приведение обратно, с проверкой точного типа ((long)(object)1 упадёт с InvalidCastException). Минусы: аллокация, нагрузка на GC, копирование. Изменения упакованной копии не видны в исходной переменной.

Подробнее

Источники скрытой упаковки: ArrayList, string.Format с числами в старых версиях, вызов интерфейсного метода у структуры через интерфейс, Enum.HasFlag до .NET Core 2.1.

Запомните, а не прочитайте

В тренажёре карточка вернётся, когда начнёт забываться. А билеты по C# и .NET проверят, что термин понятен в деле.