as
运算符类似于强制转换操作;但是,如果转换不可行,as
会返回 null
而不是引发异常。更严格地说,这种形式的表达式

等效于

expression is type ? (type)expression : (type)null


只是 expression
只被计算一次。
注意,as
运算符只执行引用转换和装箱转换。as
运算符无法执行其他转换,如用户定义的转换,这类转换应使用 cast 表达式来执行。
还有就是:(type)expression这样也可以进行的强制类型转换.