在C#中强制转换和使用“ as”有什么区别?

在C#中强制转换和使用“ as”有什么区别?,第1张

在C#中强制转换和使用“ as”有什么区别?

不同之处在于:

  • 如果强制转换失败,则会引发
    InvalidCastException
  • 如果
    as
    运算符失败,则仅返回空引用。
  • 您不能使用
    as
    非空值类型(例如,您不能使用“
    o as int
    ”)。
  • 强制转换运算符还用于取消装箱。(
    as
    可用于取消装箱为可为空的值类型。)
  • 强制转换运算符还可以执行用户定义的转换。

编辑:我已经在其他地方写过有关何时适合使用哪个运算符的文章。可能值得一读…



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4897350.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-12

发表评论

登录后才能评论

评论列表(0条)

    保存