分享

C#关键字 - is 和 as .

 bigyellowdoc 2012-08-23

isas运算符,是用于类型转换的,提供了对类型兼容性的判断。

从而使得类型转换控制在安全的范畴,提供了灵活的类型转换控制。

 

is

  • 检查对象型的兼容性,并返回结果:ture or false
  • 如果对象为null,则返回值永远为false
  • 如果已知表达式始终为ture或者false,则is 关键字讲导致编译时警告。
  • 不会抛出异常
  • 不能重载is运算符

 

 

 

 

as

  1. 检查对象类型的兼容性,并返回结果,如果不兼容旧返回null
  2. 不会抛出异常
  3. 如果判断结果为空,则强制执行类型转换将抛出NullReferenceException 异常
  4. as必须和引用类型一起使用
  5. as运算符只执行引用转换和装箱操作,无法进行其他如用户自定义转换。

 

上面的操作,在语义上等效于:

ASSample b=o is ASSample ? (ASSample)o : (ASSample)null;

 

总结:

is 和as 提供了灵活的类型转换方式,is一般用于进行类型的判断,而as用于类型的转换。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多