知识点总结(三)

1. is与as 的使用解析

   >>> is的规则如下:

  • 检查对象类型的兼容性,并返回结果,true或者false;
  • 不会抛出异常;
  • 如果对象为null,则返回值永远为false。

     object o=new object();

     class A

     {

      if(o is A)   ----第一次转换

         {

            A a=(A)0; -----第二次转换

         }

     }

 

   >>>as的规则如下:

  • 检查对象类型的兼容性,并返回结果,如果不兼容就返回null;
  • 不会抛出异常;
  • 如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常。

       object o=new object();

       class B{}

       B b=o as B;---执行一次兼容性检查

       if(B!=null)

       {}

       总结:通知情况下不建议使用 A a =(A)o,这种显示的强制转换,使用 A a =o as A,如果转换不成功将会抛出异常。

 

posted @ 2009-05-08 17:34  永不放弃-Jack wu  阅读(167)  评论(0编辑  收藏  举报