[C#1] 4-通用对象操作

1.对象的等值性和唯一性

Object的Equals[虚]方法判断两个对象是否相等;

Object.ReferenceEquals判断两个对象是否指向同一引用[严格意义上的相等、对象的唯一性]。

2.对象的散列码

Object的GetHashCode[虚]方法返回一个Int32类型的散列码,当重写Equals方法而没有重写GetHashCode方法时编译器会提示一个警告信息。

3.对象克隆

一个类必须自己确定是否允许被克隆,如果允许则应该实现IConeable接口,该接口定义一个方法Clone方法,实现该方法如下:

class myConle : ICloneable
{
    public Object Clone()
    {
        //调用Object的受保护方法,实现浅拷贝
        //浅拷贝共享对象中包括的应用类型的成员,值类型的成员则不共享;
        return MemberwiseClone();
    }
}

对应深拷贝的话也应该实现此接口,创建一个新对象,初始化相关数据,返回新对象引用。

作者:Blackheart
上一篇:[C#1] 2-类型基础


下一篇:[C#1] 3-基元类型、引用类型和值类型、装箱拆箱