zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    php提示undefined index的几种解决方法
    划分树(poj2104)
    ACM-ICPC 2018 南京赛区网络预赛B
    AC Challenge(状压dp)
    UVALive5966(bfs)
    UVALive
    STL next_permutation 算法原理和实现
    凸包算法
    poj1873(枚举+凸包)
    CodeForces
  • 原文地址:https://www.cnblogs.com/tiantianle/p/4857372.html
Copyright © 2011-2022 走看看