Tuesday, January 10, 2012

Boxing and Unboxing

Boxing and Unboxing is act like a bridge between value types and reference type.


Boxing - Storing value type to System.Object type or any interface type that implimented by this value type is called Boxing.
Boxing is implicit, Explicit Boxing also possible but its never required.
Compiler copies value of value type variable to object type and stores it in managed heap by GC.

Unboxing - Copying object type value or an interface type value that this value type implements to a value type variable is called UnBoxing. Unboxing is explicit.

Unboxing consists two steps -
I Checking that object containing value is boxed value of given variable type.
II Copying Object containg value to value type variable.



int i = 123;
object o = i; //Boxing
int j = (int)o; //Unboxing


No comments:

Post a Comment

Node | Cluster Vs Worker Threads

Cluster: Multiple processes (scale app across CPU cores) Worker Threads: Multiple threads (handle CPU-heavy work inside one process) Cluster...