看书得来的知识点:
//第一种转换
if(elem is Solid)
{
Solid solid=elem as Solid;
}
//第二种转换
Solid solid=elem as Solid;
if(solid!=null)
......
在第一种方式中,CLR对对象检查了两次;
二次第二种方式中,只检查了一次,运算速度远大于第一种;
两种方式结果是一样的。
对于as转换,永远不会跑出异常,如果对象不能转型,结果就是null。
看书得来的知识点:
//第一种转换
if(elem is Solid)
{
Solid solid=elem as Solid;
}
//第二种转换
Solid solid=elem as Solid;
if(solid!=null)
......
在第一种方式中,CLR对对象检查了两次;
二次第二种方式中,只检查了一次,运算速度远大于第一种;
两种方式结果是一样的。
对于as转换,永远不会跑出异常,如果对象不能转型,结果就是null。