Есть ли объект [] коробки или нет
Пытаясь разобраться в боксе и распаковке я придумал вопрос.
Что происходит на 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;
Так как массив является ссылочным типом, во второй строке не происходит никакого бокса или распаковки.