Boxing and unboxing is an important concept in C#. C# Type System contains three data types: Value Types (int, char, etc), Reference Types (object) and Pointer Types. Basically, it converts a Value Type to a Reference Type, and vice versa. Boxing and Unboxing enables a unified view of the type system in which a value of any type can be treated as an object.
|It convert value type into an object type.||It convert an object type into value type.|
|Boxing is an implicit conversion process.||Unboxing is the explicit conversion process.|
|Here, the value stored on the stack copied to the object stored on the heap memory.||Here, the object stored on the heap memory copied to the value stored on the stack .|
Value type of val is 2000 Object type of val is 2019
Value of o is 2019 Value of x is 2019