none
怎样确切地比较两个class的值和地址? RRS feed

  • 常规讨论

  • 我过去是搞C++ . 一直不太清楚。 C#中 两个 自定义类对象如何确切地比较值和地址。

    MyClass   a, b;

    a = b //好像是把B的地址付给了a

    1。 a==b //这个比较的是地址还是内容?

    2。 如何明确地指定比较 值或地址?

    3。Icomparable.compareTo 这个函数在什么时候被调用呢? ==的时候会自动调用吗?

    谢谢

    2011年2月7日 12:53

全部回复

  • 1.比较的是地址

    2.如果要比较值需要做一个操作符重载,或者单独写一个比较方法,对class的成员进行比较。

    3.没仔细研究- -

     


    family as water
    2011年2月7日 13:24
  • 您好,第1问和第2问,请见Stone Z的答复。

    3、这个是个.net框架提供的通用的比较接口,可用来比较大小,通常被基元类型所实现,例如int。那么通常用它来进行数组排序。例如Array.Sort()这个方法就会调用Icomparable.compareTo。这个方法不会被==所调用,如果您希望这样,可以通过操作符重载来实现。

    2011年2月8日 8:52
    版主