is 操作符通常像下面这样使用:
先判断是否可以转换,再决定是否转换
if(obj is ClassA)
{
ClassA a=(ClassA) obj;
...
}
as 对于 is 操作符简化代码,提高性能
Object obj=new Object(); //创建一个object对象.
ClassA a =obj as ClassA;//将obj转型为ClassA,此时转型操作会失败,不会抛出异常,但a会被设为null.
a.ToString();//访问a会抛出一个NullReferenceException异常。
共性:使用 is 和 as 转换语句都不会产生异常
网友评论