Встречается на 19% собеседований по C#
Что такое boxing/unboxing
Boxing — это процесс преобразования значимого типа (value type) в ссылочный (object или интерфейс). При этом значение копируется в управляемую кучу (heap). Unboxing — обратное преобразование из ссылочного типа в значимый, с проверкой типа и копированием значения обратно в стек (stack).
Пример:
csharp
int num = 42; // значимый тип (stack)
object boxed = num; // boxing (heap)
int unboxed = (int)boxed; // unboxing (stack)Нюансы:
- Boxing создает новый объект в куче, что может влиять на производительность.
- Unboxing требует явного приведения и может вызвать
InvalidCastException, если типы не совпадают. - Для частого boxing/unboxing лучше использовать generics (
List<int>вместоArrayList).
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы