【C#】尝试类型转换异常System.InvalidCastException: Specified cast is not valid.解决方案
由于对象是多态的,因此基类类型的变量可以保存派生类型。若要访问派生类型的方法,需要将值强制转换回该派生类型。不过,在这些情况下,如果只尝试进行简单的强制转换,会导致引发 InvalidCastException 的风险。这就是 C# 提供 is 和 as 运算符的原因。您可以使用这两个运算符来测试强制转换是否会成功,而没有引发异常的风险。通常,as 运算符更高效一些,因为如果可以成功进行强制转换,它会实际返回强制转换值,转换不成功则返回null。而 is 运算符只返回一个布尔值。因此,如果
原创
2021-05-19 14:37:40 ·
15911 阅读 ·
0 评论