Wednesday, August 17, 2011

判断类型转换 is and as

is 是先判断是不是指定接口类型(是不是实现了接口)

if(obj is IFlyable)
{
IFlyable fly = (IFlyable)obj;
fly.starfly();
}

as 是先执行转换(委婉型转换)然后再判断转换是否成功

IFlyable fly = null;
fly = obj as IFlyable; //as 在这里是把...当作...

IFlayable fly2 = obj as IFlyable; //如果成功转换,fly不为null,否则,就为null
if(fly == null){
...
}else{...}

No comments: