as
as
关键字用于将一个对象转换为指定类型(或其派生类型)。如果转换成功,则返回转换后的对象;如果对象不能转换为指定类型,则返回null
。- 当使用
as
进行类型转换时,如果目标类型与原始对象类型不兼容,不会引发异常,而是返回null
。DerivedClass derivedObj = baseObj as DerivedClass; if (derivedObj != null) { // 转换成功,可以使用derivedObj对象 }
is
is
关键字用于检查一个对象是否是指定类型(或其派生类型)的实例。如果对象是指定类型的实例,则返回true
;否则返回false
。- 当使用
is
进行类型检查时,如果对象是指定类型的实例,则返回true
;否则返回false
。if (baseObj is DerivedClass) { // baseObj是DerivedClass类型的实例 }
总结
as
关键字用于尝试将一个对象转换为指定类型,如果转换失败,则返回null
。is
关键字用于检查一个对象是否是指定类型的实例,返回true
或false
。- 需要注意的是,
as
和is
关键字只能用于引用类型,不能用于值类型。在进行类型转换和类型检查时,应谨慎处理,以避免出现运行时错误。