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; // boxingThe objecto
can then be unboxed and assigned to integer variablei
:
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