关于网友提出的“as到底抛不抛异常啊”问题疑问,本网通过在网上对“as到底抛不抛异常啊”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:as到底抛不抛异常啊
描述: 请问as到底抛不抛异常啊 网上的博客写的我很是迷糊,我黏贴给你们看:
as转换规则:1.检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null;
2.不会抛出异常;
3.如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常;
一会说不抛异常一会又说抛异常
解决方案1: 抛异常和as没有关系
异常是因为你用了为null的变量,去做null不可以实现的方法
解决方案2: 顺序问题,下面代码告诉你
Object obj=new Object(); //创建一个object对象.
ClassA a =obj as ClassA;//将obj转型为ClassA,此时转型操作会失败,不会抛出异常,但a会被设为null.
a.ToString();//访问a会抛出一个NullReferenceException异常。
以上介绍了“as到底抛不抛异常啊”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/962600.html