C#相等判断实例报错分析及解决(2)_Ubuntu_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • Ubuntu

    当前位置:主页 > 服务器教程 > Ubuntu >

    C#相等判断实例报错分析及解决(2)

    时间:2019-07-22|栏目:Ubuntu|点击:
  • 不过我个人还是建议如果是比较值,还是转换为对应的值类型进行比较,这样比较清晰,不容易犯错,大家也不用搞清楚 == 和 Equals 之前的细微差别。

    ps: 如果object 的类型是 string , 上面的结果又会有所不同,有兴趣的同学可以自己尝试一下。

    是否可以这样理解,我们在int32 装箱后的对象上调用Equals 方法,会走到Int32的Equals 方法上?因为看object 方法的Equals 并没有看到这个逻辑。
    -----------------------------------------------------------------------
    object.cs

    [__DynamicallyInvokable]
     public virtual bool Equals(object obj)
     {
     return RuntimeHelpers.Equals(this, obj);
     }

    [__DynamicallyInvokable]
     public static bool Equals(object objA, object objB)
     {
     if (objA == objB)
     return true;
     if (objA == null || objB == null)
     return false;
     return objA.Equals(objB);
     }
    -------------------------------------------------------------------
    RuntimeHelper.cs
     [SecuritySafeCritical]
     [MethodImpl(MethodImplOptions.InternalCall)]
     public new static extern bool Equals(object o1, object o2);

    Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

    上一篇:Java中对数组的声明与初始化

    栏    目:Ubuntu

    下一篇:使用Docker创建Web服务详解

    本文标题:C#相等判断实例报错分析及解决(2)

    本文地址:http://www.jh-floor.com/fuwuqijiaocheng/Ubuntu/8676.html

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号