Mega Code Archive

 
Categories / C# / Data Types
 

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);         }     } }