主页 > 知识库 > .net中as和is之间的区别分析

.net中as和is之间的区别分析

热门标签:莱芜外呼电销机器人价格 凯立德导航官网地图标注 长春呼叫中心外呼系统哪家好 郑州400电话办理 联通 电销语音自动机器人 地图标注和认领 智能电话营销外呼系统 户外地图标注软件手机哪个好用 五常地图标注

1、as

用于在兼容的引用类型之间执行转换,as 运算符类似于强制转换操作;但是,如果转换不可行,as 会返回 null 而不是引发异常。更严格地说,这种形式的表达式:expression as type,等效于expression is type ? (type)expression : (type)null,只是 expression 只被计算一次。注意,as 运算符只执行引用转换和装箱转换。as 运算符无法执行其他转换,如用户定义的转换,这类转换应使用 cast 表达式来执行 as操作符不会做过的转换操作,当需要转化对象的类型属于转换目标类型或者转换目标类型的派生类型时,那么此转换操作才能成功。

效率:

当用as操作符进行类型转换的时候,首先判断当前对象的类型, 当类型满足要求后才进行转换,而传统的类型转换方式,是用当前对象直接去转换, 而且为了保护转换成功,要加上try-catch. 而且并不产生新的对象【当不成功的时候,会返回null】。 相对来说,as效率高点,用as进行类型转换是安全的。 实例: e.Item.DataItem as DataRowView 同等 (DataRowView)e.Item.DataItem

2、is

检查对象是否与给定类型兼容,例如:if(obj is string){}。如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则 is 表达式的计算结果将是 true。如果已知表达式将始终是 true 或始终是 false,则 is 关键字将导致编译时警告,但是,通常在运行时才计算类型兼容性。不能重载 is 运算符。请注意,is 运算符只考虑引用转换、装箱转换和取消装箱转换。

您可能感兴趣的文章:
  • ASP.NET小结之MVC, MVP, MVVM比较以及区别(二)
  • ASP.NET小结之MVC, MVP, MVVM比较以及区别(一)
  • asp.net中virtual和abstract的区别分析
  • Asp.net中Response.Charset与Response.ContentEncoding区别示例分析
  • c#.net中const和readonly的区别
  • 详细说明asp.net中datareader 和 dataset 的区别
  • asp.net中DBNull.Value,null,String.Empty区别浅析
  • asp.net 中静态方法和动态方法调用的区别实例分析
  • ASP.NET笔记之 控件与母板的区别分析
  • .net中的session与cookies区别及使用方法
  • .NET MVC中ViewData,ViewBag和TempData的区别浅析

标签:岳阳 西宁 湖州 宣城 红河 衢州 西藏 福州

巨人网络通讯声明:本文标题《.net中as和is之间的区别分析》,本文关键词  .net,中,和,之,间的,区别,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《.net中as和is之间的区别分析》相关的同类信息!
  • 本页收集关于.net中as和is之间的区别分析的相关信息资讯供网民参考!
  • 推荐文章