Я могу без проблем разыграть byte
на int
.
byte a = 2;
int b = a; // => unboxing, boxing or conversion?
Когда я разыгрываю byte
сначала на object
, а затем на int
, я получаю InvalidCastException
.
byte a = 2;
object b = a; // => boxing?
int c = (int) b; // => unboxing fails?
Но я могу обойти эту проблему, используя Convert.ToInt32
.
byte a = 2;
object b = a; // => boxing?
int c = Convert.ToInt32(b); // => what happens here?
- Почему я получаю
InvalidCastException
во втором примере? - Что означает
Convert.ToInt32
в фоновом режиме? - Правильно ли я пометил
boxing
, unboxing
и conversion
?/ Какой правильный термин, когда в примерах, где я не уверен? - Здесь задействованы операторы преобразования?Есть ли обзор основных операторов преобразования базовых типов?
Пожалуйста, не стесняйтесь подсказывать мне другие вещи, которые я мог ошибиться или пропустил.