2 May 2012

Boxing and Unboxing in Dotnet

Boxing and Unboxing  in Dotnet


Boxing is the process of converting a value type to the type object
When the CLR boxes a value type, it wraps the value inside a System.Object and stores it on the managed heap.
Unboxing extracts the value type from the object. 



int i = 123;
object o = (object)i;  // boxing
The object can then be unboxed and assigned to integer variable i: 
o = 123;
i = (int)o;  // unboxing
Disadvantages of Boxing
Performance
Boxing and unboxing are computationally expensive processes. When a value type is boxed, an entirely new      object must be created. This can take up to 20 times longer than an assignment. When unboxing, the casting     process can take four times as long as an assignment.

No comments:

Post a Comment

Comments Welcome