C#中as 运算符的作用是什么?

2014-11-24 01:37:53 · 作者: · 浏览: 6

as 运算符用于执行引用类型的显式类型转换。 如果要转换的类型与指定类型兼容,转换就会成功;如果类型不兼容,则返回null。


表达式as 类型


as 运算符类似于类型转换,所不同的是,当转换失败时,as 运算符将返回null,而不是引发异常。


as的规则如下:


检查对象类型的兼容性,并返回结果,如果不兼容就返回null;


不会抛出异常;


如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常。


代码如下:


Student s1 = studentObj as Student; //如果CLR检测studentProgram引用对象类型不兼容目标类型,即不能进行强制类型转换,则返回一个null,永远不会抛出异常