Извлечь из CLR через С# в бокс /Unboxing типы значений...
В боксе: если нулевым экземпляром не является null, CLR берет значение из экземпляра с возможностью nullable и помещает его в поле. Другими словами, Nullable < Int32 > со значением 5 помещается в boxed-Int32 со значением 5.
В Unboxing: Unboxing - это просто акт получения ссылки на незапакованную часть объекта в штучной упаковке. Проблема состоит в том, что тип с коротким значением не может быть просто распакован в нулевую версию этого типа значений, потому что в бокс-значении нет поля boolean hasValue. Таким образом, при распаковке типа значения в нулевую версию CLR должен выделять Nullable <T> , инициализируйте поле hasValue до true и установите для поля значение то же значение, которое находится в коробке тип значения. Это влияет на производительность вашего приложения (выделение памяти при распаковке).
Почему команда CLR столкнулась с такими трудностями для типов Nullable? Почему это не просто вставляется в Nullable < Int32 > в первую очередь?