Autoboxing.cs
TCS, p. 65-67
public class Autoboxing
{ // Autoboxing for primitive types and their wrappers
public static void Main()
{
System.Boolean bl = false; // autoboxing
bool b = bl; // unboxing
System.Console.WriteLine("bl = " + bl + ", b = " + b);
System.Char ch = 'x';
char c = ch;
System.Console.WriteLine("ch = " + ch + ", c = " + c);
System.Byte bte = 0;
byte bt = bte;
System.Console.WriteLine("bte = " + bte + ", bt = " + bt);
System.Int16 sh = 0;
short s = sh;
System.Console.WriteLine("sh = " + sh + ", s = " + s);
System.Int32 ii = 0;
int i = ii;
System.Console.WriteLine("ii = " + ii + ", i = " + i);
System.Int64 ll = 0L;
long l = ll;
System.Console.WriteLine("ll = " + ll + ", l = " + l);
System.Double db = 123.456d; // boxing
double d = db; // unboxing
System.Console.WriteLine("db = " + db + ", d = " + d);
string s1 = db.ToString("####.#"); // unboxing
string s2 = db.ToString("0000.0"); // unboxing
System.Console.WriteLine("s1 = " + s1 + ", s2 = " + s2);
System.DBNull vd = null; // '\0'
// void v = vd; // illegal (void vars not allowed)
System.Console.WriteLine("vd = " + vd);
}
}
/*
mcs Autoboxing.cs
mono Autoboxing.exe
bl = False, b = False
ch = x, c = x
bte = 0, bt = 0
sh = 0, s = 0
ii = 0, i = 0
ll = 0, l = 0
db = 123.456, d = 123.456
s1 = 123.5, s2 = 0123.5
vd =
*/
Comments
Post a Comment