Выбор ответа Junior Типы значений и ссылочные спрашивают часто обновлено

Когда происходит упаковка

Вопрос

В какой строке происходит boxing?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: object o = 42;. Упаковка это копирование значения в новый объект в куче при приведении к object или интерфейсу. object o = 42 упаковывает. int в long это расширяющее числовое преобразование без кучи. int? это структура Nullable<int, упаковки нет.

Варианты ответа

  1. int x = 42; long y = x;
  2. int? n = 5;
  3. object o = 42;правильный ответ
  4. var list = new List<int> { 1, 2 };

Разбор

Упаковка это копирование значения в новый объект в куче при приведении к object или интерфейсу. object o = 42 упаковывает. int в long это расширяющее числовое преобразование без кучи. int? это структура Nullable<int>, упаковки нет. List<int> хранит значения в массиве int[] без упаковки, ради этого дженерики и появились (в отличие от старого ArrayList).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме