.net中as和is之间的区别分析
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 运算符只考虑引用转换、装箱转换和取消装箱转换。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程