zoukankan      html  css  js  c++  java
  • C#学习,对象的相等比较

    一,引用类型相等比较:

    共四种比较方法:

    1:ReferenceEquals()方法,静态方法,测试两个引用是否指定同一个对象。而且认为null等于null。

    1Class1 x,y;
    2= new Class1();
    3= new Class1();
    4bool B1 = ReferenceEquals(null,null);//true
    5bool B2 = ReferenceEquals(null,x);//false
    6bool B3 = ReferenceEquals(x,y);//false

    2:虚拟的Equals()方法,虚拟的,可以重写,按值比较对象。

    3:静态的Equals()方法,两个参数,对他们进行比较(和虚拟Equals()区别)。

    4:比较运算符==,可以看作严格值比较和严格引用比较之间的中间选项。

    二,值类型相等比较:

     理论上值比较可以和饮用比较用相同的方法,只不过值类型需要一个装箱的过程。但是,在装箱过程中,每个值都是单独装箱的,

    所以用RefernceEqual()比较值类型的话总是返回false,是没有意义的。

    总结:通过了解饮用类型和值类型,可以理解上面的工作原理。现在对Equals()的概念还有点模糊,希望在应用中能够理解。

  • 相关阅读:
    【C++clock()函数学习(计算自己代码运行时间)】
    YCOJ 1041113【最近的回文数】
    计蒜客【汉诺塔II】
    YCOJ【汉诺塔】
    【常用算法总结——递归】
    YCOJ【查找】
    【常用算法总结——分治】
    Redis哨兵机制
    Redis主从复制
    SpringBoot集成Redis
  • 原文地址:https://www.cnblogs.com/ratgtttjh/p/1277673.html
Copyright © 2011-2022 走看看