一、is 关键字
is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。
例如有:首先创建一个字符串对象,然后将字符串对象隐式转换为 object 类型的对象,最后使用 is 关键字判断 object 类型的对象是否与 string 类型兼容,结果为 true 则执行后面的显式转换。这样的转换是安全的,不会抛出异常。
string P_str = "C#编程宝典";将 string 对象隐式转换为 object 类型的对象
object P_obj = P_str;使用 is 关键字判断 P_obj 对象是否与 string 类型兼容
if(P_obj is string)
{如果 P_obj 对象与 string 类型兼容则进行显示转换string P_str2 = (string)P_obj;
}
二、as 关键字
使用 as 关键字可以将对象转换为指定类型,与 is 关键字不同,is 关键字用于检查对象是否与给定类型兼容,如果兼容则返回 true,如果不兼容则返回 false。而 as 关键字会直接进行类型转换,如果转换成功将会返回转换后的对象,如果转换不成功则不会抛出异常而是返回 NULL。
例如有:首先创建一个字符串对象,然后将字符串对象隐式转换为object 类型的对象