Встречается на собеседованиях • сегодня

Что такое Boxing

Boxing — это процесс преобразования значимого типа (value type) в ссылочный тип (object или интерфейс). При этом значение копируется из стека в управляемую кучу (heap), и создается ссылка на него. Это может повлиять на производительность из-за дополнительных аллокаций.

Unboxing — обратный процесс, извлечение значения из ссылочного типа обратно в значимый.

Пример:

csharp
int number = 42;          // value type (stack)
object boxed = number;    // boxing (heap)
int unboxed = (int)boxed; // unboxing (stack)

Нюансы:

  • Boxing происходит неявно при присваивании value type в object или интерфейс (например, IComparable).
  • Unboxing требует явного приведения и может вызвать InvalidCastException, если типы не совпадают.
  • Частый boxing в циклах или критичных участках кода может создать нагрузку на GC.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы