Есть ли объект [] коробки или нет

Пытаясь разобраться в боксе и распаковке я придумал вопрос.

Что происходит на object obj = arr линия в этом примере?

object[] arr = new object[] {1, 2};
object obj = arr;

Есть ли бокс на второй линии?

2 ответа

В первой строке:

object[] arr = new object[] {1, 2};

Литералы int 1 и 2 заключены в квадрат, так как массив представляет собой массив object,

Однако во второй строке бокс не встречается, поскольку массив является ссылочным типом.

object obj = arr;

Так как массив является ссылочным типом, во второй строке не происходит никакого бокса или распаковки.

Другие вопросы по тегам