• C#中is和as的区别


    关于类型的判断和转换有is和as这两种操作符。具体区别和用法如下:

    is是对类型的判断,返回true或false。如果被检测对象的类型是某个类型或其子类型才返回true,否则返回false,另外is操作符不会抛出异常。

    bool b1 = (o is object);   //b1为true
    bool b2 = (o is Employee); //b2位false

    如果对象应用为null,那么is操作符总是返回false,因为没有对象可以检查对象。

    if(o is Employee){
        Employee  e = (Employee)0;
    
        //在if语句中使用e
    }

    在上面的代码中,CLR(公共语言运行时)对象类型检查了两次,is首先检查o所引用的对象是否和Employee类型兼容。如果兼容,那么在if语句内CLR在执行转换时又会检查o是否为一个Employee引用。这种编程范式十分常见,C#便提供了一种新的类型检查,转换方式。即as操作符,他可以在简化代码的同时,提高性能。代码如下:

    Employee e = o as Employee;
    if(e != null){
    
        //在if语句中使用e
    }
  • 相关阅读:
    (2/24) 快速上手一个webpack的demo
    (1/24) 认识webpack
    module.exports 、exports、export、export default的区别
    Git同时提交到多个远程仓库
    @codeforces
    @loj
    @bzoj
    @loj
    @bzoj
    @bzoj
  • 原文地址:https://www.cnblogs.com/reggieqiao/p/5902120.html
Copyright © 2020-2023  润新知