无论何时,正确选择使用as运算符进行类型转换。比盲目的强制类型转换更安全,而且在运行时效率更高。
用as和is进行转换时,并不是对所有用户定义的类型都能完成,只是在运行时类型和目标类型匹配时,转换才能完成。
1、强制转换是不安全的,可能有异常抛出。需要try catch 结构来保证程序运行
2、as转换是安全的,不会有异常抛出,但在转换失败后,其结果为null。as和is运行时,要检测转换目标的类型。如果一个指定对象不是要求转换的类型或者是从转换类型派生的,就会转换失败
注:is 和 as 一样,都是类型转换安全的,它们在任何时候都不会在转换时发生异常,因此可以先用 is 来安
全的判断一下数据类型。与 as 不同的时,is 只是做类型检测并返回逻辑值,不做转换。