1 static void Main(string[] args) 2 { 3 object o = new object(); 4 5 //is的用法 6 //1.检查对象类型的兼容性,并返回结果,true或者false; 7 // 2.不会抛出异常; 8 // 3.如果对象为null,则返回值永远为false。 9 if (o is A) //执行第一次兼容检查 10 { 11 A a = (A)o;//执行第二次兼容检查 12 } 13 //as的用法 14 //1.检查对象类型的兼容性,并返回结果,如果不兼容就返回null; 15 //2.不会抛出异常; 16 //3.如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常。 17 B b = o as B;//执行一次类型兼容检查 18 if (b != null) 19 { 20 Console.WriteLine("b is B's instance"); 21 } 22 }
整理自:
[你必须知道的.NET] 第一回:恩怨情仇:is和as