Страницы

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

среда, 24 октября 2018 г.

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

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


Ответ

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

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

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