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

时间:2022-04-23
本文章向大家介绍[C#1] 4-通用对象操作,主要内容包括1.对象的等值性和唯一性、2.对象的散列码、3.对象克隆、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

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

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

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

2.对象的散列码

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

3.对象克隆

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

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

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