I understand that boxing and unboxing is about casting (real type to object... object to real type). But I do not understand what the MSDN say about it with the Nullable. He
What it's saying is that if you do:
int? x = 5; object y = x; // Boxing
You end up with a boxed int, not a boxed Nullable. Similarly if you do:
int
Nullable
int? x = null; // Same as new Nullable() - HasValue = false; object y = x; // Boxing
Then y ends up as a null reference.