Users Pricing

articles

home / developersection / articles / boxing and unboxing

Boxing and Unboxing

Trusartta Kumar Mahanta 1740 11 Aug 2019 Updated 11 Aug 2019

What is the Difference Between Boxing and Unboxing?

Boxing and Unboxing is one of the most Important Concept in C#.

In Boxing and Unboxing Contain three Data Types

1-Value Type(int,char etc)

2-Reference Type(object)

3-Pointer Type()

Boxing

-Basically, value type to reference(object) type of Conversion is called Boxing.

-Boxing is Implicit type Conversion Process.

-Here Value Stored in the Stack Memory and reference(object) Copied Stored on the Heap Memory.

   Ex- int x=100;

   Object obj=x; //---Boxing

Ex-using System;

public class Test{

 static public void Main()

 {

  int val = 2020;

  // Boxing

  object o = val;

  // Change the value of val

  val = 9437;

  Console.WriteLine("Value type of val is {0}", val);

  Console.WriteLine("Object type of val is {0}", o);

 }

--------------------------------------------------------------------------------------------------------------

Unboxing

Unboxing is Convert Reference type into value Type is Called Unboxing. This is the Wrong Concept.

Correct Ans-

If a value type which is converted into reference type is converted back to value type ,we call it as Unboxing, but while Performing unboxing Explicit Conversion is Required.

-Unboxing is Explicit type Conversion.

-In Unboxing the object stored on the Heap memory Copied stored on the Stack Memory.

     Ex-

Value Type----------------Reference Type--------------Value Type

  Int y=Convert.ToInt32(obj); ----------------Unboxing

Ex:

using System;

public class Test {

 static public void Main()

 {

  int val = 2020;

  // Boxing

  object o = val;

  // Unboxing

  int x = (int)o;

  Console.WriteLine("Value of o is {0}", o);

  Console.WriteLine("Value of x is {0}", x);

 }

Note: A Direct reference type can never be Converted to Value Type.


Trusartta Kumar Mahanta

Software Engineer

I am a passionate programmer and a Software Engineer love blogging and Developing applications using Microsoft Technologies and Other Advance Web Technology.