Prabhu Raja
What is boxing and unboxing ?
Posted by Prabhu Raja in .Net | ASP.NET on Dec 27, 2011
0
Do you know the answer for this question? Post it below.
Guest

Boxing


Boxing is used to store value types in the garbage-collected heap. Boxing is an implicit conversion of a value type to the type object or to any interface type implemented by this value type. Boxing a value type allocates an object instance on the heap and copies the value into the new object.

Consider the following declaration of a value-type variable:

int i = 123;


The following statement implicitly applies the boxing operation on the variable i:

// Boxing copies the value of i into object o.
object o = i;  


The result of this statement is creating an object reference o, on the stack, that references a value of the type int, on the heap. This value is a copy of the value-type value assigned to the variable


for example:(Consider follwing C# code)

class TestBoxing
{
    static void Main()
    {
        int i = 123;

        // Boxing copies the value of i into object o.
        object o = i;  

        // Change the value of i.
        i = 456;  

        // The change in i does not effect the value stored in o.
        System.Console.WriteLine("The value-type value = {0}", i);
        System.Console.WriteLine("The object-type value = {0}", o);
    }
}
/* Output:
    The value-type value = 456
    The object-type value = 123
*/

Unboxing

Unboxing is an explicit conversion from the type object to a value type or from an interface type to a value type that implements the interface. An unboxing operation consists of:

  • Checking the object instance to make sure that it is a boxed value of the given value type.

  • Copying the value from the instance into the value-type variable.

    int i = 123;      // a value type
    object o = i;     // boxing
    int j = (int)o;   // unboxing
Furthe Deatils Refer :Click Here.

Posted by Lekshmana Perumal M on Jan 05, 2012

Implicit (manual) conversion of value type to reference type of a variable is
known as BOXING, for example integer to object type conversion. Conversion of Boxed type variable back to value type is called as UnBoxing.

Posted by Prabhu Raja on Dec 27, 2011
Sponsored by
Nevron Gauge for SharePoint
Become a Sponsor
PREMIUM SPONSORS
Sponsored by

Become a Sponsor
PRIVACY POLICY | TERMS & CONDITIONS | SITEMAP | CONTACT US | REPORT ABUSE © 2011 C# Corner. All contents are copyright of their authors.