类型转换:as 、 强转()和is¶
总结:引用类型尽量用as,值类型必须用强转,未知类型的话需要先判定。
as¶
引用类型尽可能使用,底层是运行时判断类型信息进行转换的。 - 安全性强:失败为null,不抛异常 - 效率高 - 不能使用自定义转换。 - 不能转换成非null值类型,因为值类型不能为null。(C#2.0提供了Nullable类型,允许定义包含null值,但是Unity还没有提供到位,默认初始化为0)
普通强转()¶
- 强转失败,需要异常处理
- 自定义转换:只作用于编译时转换,运行时转换会发生异常
is 的作用¶
可以通过is来判断是值类型还是引用类型,用来做区别处理。