C#学习之as是什么意思?

来源:互联网 发布:淘宝怎么差评改好评 编辑:程序博客网 时间:2024/04/28 04:38
(1)as运算符用于执行引用类型的显式类型转换。 如果要转换的类型与指定类型兼容,转换就会成功;如果类型不兼容,则返回null。as 运算符类似于类型转换,所不同的是,当转换失败时,as 运算符将返回null,而不是引发异常。
(2)形式:表达式as 类型
as的规则如下:
1. 检查对象类型的兼容性,并返回结果,如果不兼容就返回null;
2. 不会抛出异常;
3. 如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常。
代码如下:Student s1 = studentObj as Student;
解释:如果CLR检测studentProgram引用对象类型不兼容目标类型,即不能进行强制类型转换,则返回一个null,永远不会抛出异常。
0 0