阅读背景:

使用 as 和 is 运算符安全地进行强制转换

来源:互联网 

由于对象是多态的,因此基类类型的变量可以保存派生类型。 若要访问派生类型的方法,需要将值强制转换回该派生类型。 不过,在这些情况下,如果只尝试进行简单的强制转换,会导致引发 InvalidCastException 的风险。 这就是 C# 提供 is 和 as 运算符的原因。 您可以使用这两个运算符来测试强制转换是否会成功,而没有引发异常的风险。 通常,as 运算符更高效一些,因为如果可以成功进行强制转换,它会实际返回强制转换值。 而 is 运算符只返回一个布尔值。 因此,如果只想确定对象的类型,而无需对它进行实际强制转换,则可以使用 is 运算符。由于对象是多态的,因此基类类型的变量可以保存派生类型。 若要访问派生类型的方法,需要将值强制转




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: