is:检查一个对象是否兼容于指定的类型,并返回一个bool值——即使类型不对,仅返回false,不会抛出异常;null对象则返回false
if (o is Employee)
{Employee e = (Employee)o; }
上述代码检测两次对象类型,一次在if中的is,另一次在显示转型时——会影响性能,
使用as代替。as:用来简化上述代码:永远不会抛出异常,如果对象不能转型,就返回null:
Employee e = o as Employee;
if (e != null) {//执行操作}