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

175
21 сентября 2018, 15:00

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

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

Answer 1

Преобразования к object и обратно называются упаковка и распаковка.

Особенностью распаковки value-типов является то, что нельзя распаковать один value-тип в другой.

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

READ ALSO
Создание элемента в коде

Создание элемента в коде

Как написать то же самое, только в коде?

200
Скиншот контрола panel

Скиншот контрола panel

Цель: сделать снимок контрола в частности панели(Mainpanel) Проблема: удается сделать снимок только видимой области контрола А нужна картинка...

175
Обрезать строку в гриде - не помещается

Обрезать строку в гриде - не помещается

Я пытаюсь заполнить мой DGV из БД, но одна из колонок содержит слишком длинную строку и поэтому ячейки остаются пустымиЯ бы хотела просто обрезать...

175
C# WPF MVVM биндинг из другого окна

C# WPF MVVM биндинг из другого окна

Открываю второе окно в котором есть TextBox, ставлю ему DataContextКак мне получить значение из TextBox'a после закрытия окна?

227