Страницы

Поиск по вопросам

воскресенье, 15 декабря 2019 г.

Un/boxing в C# ; от object к int

#c_sharp #net


Не могли бы вы подсказать, почему явный downcast числового object'a  (без предварительного
upcast'a) доступен только к int, применяя к другим типам данных выдает ошибку invalidCastException.
При предварительном upcast'e всё понятно , но ожидал , что без предварительного upcast'a
работать downcast не будет. 

Update. Как поправили - речь идёт об boxing/unboxing, а не о downcast'е.
    


Ответы

Ответ 1



Преобразования к object и обратно называются упаковка и распаковка. Особенностью распаковки value-типов является то, что нельзя распаковать один value-тип в другой. В данном случае, так как в object уже хранится int, его нельзя распаковать в другую структуру.

Комментариев нет:

Отправить комментарий