There are cases when an instance of a value type needs to be treated as an instance of a reference type. For situations like this, a value
Below is some examples of boxing/unboxing
ArrayList ints = new ArrayList(); myInts.Add(1); // boxing myInts.Add(2); // boxing int myInt = (int)ints [0]; // unboxing Console.Write("Value is {0}", myInt); // boxing