括号强制转换
Employee e = (Employee) o;
如果 o 不是Employee类型或者由Employee派生的类型 就会报 InvalidCastException错误。
is 判断对象是否属于某个类或他的派生类
Object o = new Object();
bool b1 = (o is Object) ; //b1=false
bool b2 = (o is Employee) ;//b2 =false
//如果o =null 返回的的false
为了防止括号强制类型转换报错可以
if (o is Employee)
{
Employee e =(Employee) o;
}
但是 is 和强制类型转换都需要遍历一次派生类 会浪费性能 所以有了 as
as
Employee e = o as Employee; //如果o能找到对应的类型这返回对象的引用
//如果找不到就返回 null
if (e!=null)
{
//对e的操作
}