|
Listing 10-46 extracted from chapter The .NET 2 type system from a C#2 point of view
Listing 10-45< > Listing 10-47
This listing can be compiled with the command line: csc.exe /target:exe Example_10_46.cs Errors: 0 Warnings: 0
Example_10_46.cs
class Program {
static void Main() {
int i1 = 76;
object o1 = i1; // boxing of an int
int? ni1 =(int?)o1; // unboxing to an int?
System.Diagnostics.Debug.Assert( ni1 == 76 );
int? ni2 = 98;
object o2 = ni2; // boxing of an int?
int i2 = (int)o2; // unboxing to an int
System.Diagnostics.Debug.Assert( i2 == 98 );
int? ni3 = null;
object o3 = ni3; // boxing of a null int?
int i3 = (int)o3; // unboxing -> NullReferenceException raised!
}
}
Copyright Patrick Smacchia 2006 2007
|