c#面试基础语法——as和is的区别

as

  • as关键字用于将一个对象转换为指定类型(或其派生类型)。如果转换成功,则返回转换后的对象;如果对象不能转换为指定类型,则返回null
  • 当使用as进行类型转换时,如果目标类型与原始对象类型不兼容,不会引发异常,而是返回null
  • DerivedClass derivedObj = baseObj as DerivedClass;
    if (derivedObj != null)
    {
        // 转换成功,可以使用derivedObj对象
    }
    

is 

  • is关键字用于检查一个对象是否是指定类型(或其派生类型)的实例。如果对象是指定类型的实例,则返回true;否则返回false
  • 当使用is进行类型检查时,如果对象是指定类型的实例,则返回true;否则返回false
  • if (baseObj is DerivedClass)
    {
        // baseObj是DerivedClass类型的实例
    }
    

总结 

  • as关键字用于尝试将一个对象转换为指定类型,如果转换失败,则返回null
  • is关键字用于检查一个对象是否是指定类型的实例,返回truefalse
  • 需要注意的是,asis关键字只能用于引用类型,不能用于值类型。在进行类型转换和类型检查时,应谨慎处理,以避免出现运行时错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值