is: 检查对象是否和给定的类型兼容,并返回结果: true或false. is 不会抛出异常.
Object 0 = new Object();
Boolean b = (o is System.Object); // true
如果对象引用为null, 那么is 返回为false
as是一种类型转换符, 它先判断对象是否与给定的对象兼容, 如果符合则将对象转换,否则就为null.
Employee employee = obj as Employee. //如果obj和Employee兼容,则obj就转换为Employee,否则obj就为null,然后将obj赋值给employee.
Employee employee = obj as Employee 相当于如下代码:
if(obj is Employee)
{
Employee employee = (Employee)obj
}
else
{
Employee employee = null;
}