Automatic boxing and unboxing to pass an undetermined data type to a function : Boxing Unboxing « Data Types « C# / C Sharp






Automatic boxing and unboxing to pass an undetermined data type to a function

Automatic boxing and unboxing to pass an undetermined data type to a function
 
/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa

Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
//  Obj.cs - Demonstrates automatic boxing and unboxing to pass an
//           undetermined data type to a function.
//           Compile this program with the following command line:
//               C:>csc Obj.cs
//
namespace nsObject
{
    using System;
    public class Obj
    {
        static public void Main ()
        {
            double d = 3.14159;
//  Pass a double to Square ()
            object o = Square (d);
            ShowSquare (o);
//  Pass an int to Square ()
            o = Square (42);
            ShowSquare (o);
//  Pass a float to Square ()
            o = Square (2.71828F);
            ShowSquare (o);
        }
//  Square () returns the boxed square of a value if the data type is
//  int or double. Otherwise, Square() returns a null reference
        static object Square (object o)
        {
            if (o is double)
                return ((double) o * (double) o);
            if (o is int)
                return ((int) o * (int) o);
            return (null);
        }
        static public void ShowSquare (object o)
        {
            if (Object.Equals (o, null))
                Console.WriteLine ("The object is null");
            else
                Console.WriteLine ("The square is " + o);
        }
    }
}


           
         
  








Related examples in the same category

1.implicit boxing of an int
2.explicit boxing of an int to an object
3.explicit unboxing of an object to an int
4.A simple boxing/unboxing exampleA simple boxing/unboxing example
5.Boxing also occurs when passing valuesBoxing also occurs when passing values
6.Boxing makes it possible to call methods on a valueBoxing makes it possible to call methods on a value
7.Illustrates boxing and unboxingIllustrates boxing and unboxing
8.is and Box UnBoxis and Box UnBox
9.Boxing struct object
10.Box to object