3.选择is或者as操作符而不是做强制类型转换
强制类型转换: 只考虑转换编译时类型与目标类型是否可以转换;若类有定义自己的转换运算符,则会调用转换函数。
as: 若类有定义自己的转换运算符,不会调用转换函数。建议使用as 做为转换函数。
is: 只做判断,不做转换。
所以建议用法: as 用于自定义类型的转换,强制转换用于内置类型转换(当自定义内型有转换函数时,也要用强制转换)。GetType()用于精确类型判断。
强制类型转换: 只考虑转换编译时类型与目标类型是否可以转换;若类有定义自己的转换运算符,则会调用转换函数。
as: 若类有定义自己的转换运算符,不会调用转换函数。建议使用as 做为转换函数。
is: 只做判断,不做转换。
所以建议用法: as 用于自定义类型的转换,强制转换用于内置类型转换(当自定义内型有转换函数时,也要用强制转换)。GetType()用于精确类型判断。