c#中的is和as运算符

is运算符

is运算符可以检查对象是否与特定的类型兼容。is运算符用来检查对象(变量)是否属于某数据类型(如int、string、bool、double、class等),可在安全类型转换之前进行判断之用。

例如,要检查变量是否与object类型兼容: 注意:“兼容”表示对象是该类型,或者派生于该类型。

  1. int i = 10;   
  2. if (i is object)   
  3. {   
  4.  Console.WriteLine("i is an object");   
  5.   
  6. }  
[c#]  view plain  copy
  1. int i = 10;  
  2. if (i is object)  
  3. {  
  4.  Console.WriteLine("i is an object");  
  5.   
  6. }  

int和从object继承而来的其他C#数据类型一样,表达式i is object将得到true,并显示信息。


as运算符

as运算符用于执行引用类型的显式类型转换。如果要转换的类型与指定的类型兼容,转换就会成功进行;如果类型不兼容,as运算符就会返回值null。如下面的代码所示,如果object引用不指向string实例,把object引用转换为string就会返回null:

  1. object o1 = "Some String";   
  2. object o2 = 5;   
  3. string s1 = o1 as string//s1 = "Some String"   
  4. string s2 = o2 as string//s2 = null  
[c#]  view plain  copy
  1. object o1 = "Some String";  
  2. object o2 = 5;  
  3. string s1 = o1 as string//s1 = "Some String"  
  4. string s2 = o2 as string//s2 = null  

as运算符允许在一步中进行安全的类型转换,不需要先使用is运算符测试类型,再执行   转换


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值