Concept of Boxing and Unboxing


Boxing: Boxing is a process in which object instances are created and copy values in to that instance. It permits any value type to be implicitly converted to type object or to any interface type implemented by value type.

Unboxing: Unboxing is vice versa of boxing operation where the value is copied from the instance in to appropriate storage location. 

Here is sample code of boxing and unboxing where integer data type is converted in to object and then vice versa.

int x = 0;

object y = null;

x = 10;

// boxing process

y = x;

// unboxing process

x = y;