• EffectiveC#3--选择is或者as操作符而不是做强制类型转换


    1.用as运算符进行类型转换。因为比起盲目的强制转换它更安全,而且在运行时效率更高。

       安全体现在:as操作符就算是转化一个null的引用时,也会安全的返回一个null而不会像强制转换抛出异常。

    2.as和is运算符在运行时要检测转换目标的类型。如果一个指定对象不是要求转换的类型,或者它是从要求转换类型那里派生的,转换会失败。

    3.as用于引用类型和可为null的类型,不可以用于值类型。

    4.在进行值类型强制转换前可以先用is来安全的判断一下数据类型。

       注:如果o是其它可转化为整形的类型(译注:但o并不是真正的整形),例如double,那么is运算操作会返回false

    5.如下代码冗余。使用as来转换数据,那么用is来做检测是不必要的。只用检测返回类型是否为null就行了

       object o = Factory.GetObject( );

       MyType t = null;

       if ( o is MyType )  

             t = o as MyType;

  • 相关阅读:
    MRO C3算法 super的运用
    约束 抛异常
    反射
    Ubuntu
    Vim
    Vim
    Arithmetic
    Docker-常用命令
    Docker
    Docker-LAMP开发环境
  • 原文地址:https://www.cnblogs.com/tiantianle/p/4857372.html
Copyright © 2020-2023  润新知