时间:2021-05-28
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 运算符只考虑引用转换、装箱转换和取消装箱转换。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例分析了asp.net中virtual和abstract的区别,分享给大家供大家参考。具体分析如下:一、Virtual方法(虚方法)virtual关键字用
本文较为详细的分析了.NET中的异常和异常处理用法。分享给大家供大家参考。具体分析如下:.NET中的异常(Exception).net中的中异常的父类是Exce
本人最近从asp.net转向了php,主攻方向是Web开发,感觉两者之间还是有不少的区别的。1.相对于.net,php更偏向于解释性语言类型;2.在.net中,
本文以示例形式分析了Asp.net中Response.Charset与Response.ContentEncoding的区别,分享给大家供大家参考。具体如下:1
平板电脑之间的对比。总结:通过以上分析,iPadAir与ipadmini在硬件和功能方面无多大区别,而最大的区别只体现的外形、体重和售价上,大家可根据个人的爱好