快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

System.Object类-创新互联

概述:System.Object类是.NET Framework类库中所有类的基类

创新互联公司-专业网站定制、快速模板网站建设、高性价比上高网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式上高网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖上高地区。费用合理售后完善,十余年实体公司更值得信赖。

构造函数:

public Object()

说明:通过子类的构造函数来调用,但是也能直接使用它来生产Object对象。

方法:

public virtual bool Equals(Object obj)

判断对象obj是否与当前对象相对。

此方法是一个virtual方法,一般在子类中应该重写该方法。

该方法根据对象的类型不同,分为以下几种情况:

1:如果对象是简单值类型,比如原生数据类型,则相等的定义为:类型相同且值相等。

2:对于结构类型,相等意味着结构内部的字段的值要相等。注意:对于结构,相等性判断是判断结构内的字段是否相等。

3:对于引用类型,该方法判断两个对象是否是同一个对象,实际上就是在方法内部调用了ReferenceEqual方法,因此,对于引用类型的相等性判断,一般应该在子类中重写该方法。

下表中给出了几种类型会默认调用的Equals方法

类型默认调用的Equals方法说明
Object类的子类Object.Equals(Object)比较引用
StructureValueType.Equals比较字段的值
EnumerationEnum.Equals
DelegateMulticastDelegate.Equals
InterfaceObject.Equals(Object)

对于Equals(Object)方法来说,下列语句必须为true。(下例中的引用类型x,y和z均不为null)

x.Equals(x) == true(例外,x为浮点数)

x.Equals(y) == y.Equals(x)

若干x和y都是NaN,则x.Equals(y) == true

如果(x.Equals(y) && y.Equals(z)) == true,则x.Equals(z) == true

只有x和y指向的对象没有改名,x.Equals(y)的值必须一直相同。

x.Equals(null) == false

注意:Equals方法不能抛异常。

实现IComparable接口的类型必须重写Equals方法;

重写Equals方法的类型必须也重写GetHashCode方法;否则hash表可能无法正常工作。

如果重载了“==”运算符,也必须重新Equals方法。

如果对引用类型使用“==”运算符,默认为比较引用的地址是否相同,即是否指向同一个对象。

public static bool Equals(Object objA, Object objB)

判断两个对象是否相等。

如果objA和objB指向同一个对象,或两者都为null,返回true;

如果两者里面一个为null,另一个不是,返回false;

如果两个对象都不为null,且不是指向同一个对象,该方法会自动调用objA.Equals(objB)方法。

protected virtual void Finalize()

在该对象被垃圾回收器回收前执行特定的释放资源和清理工作。

public virtual int GetHashCode()

hashcode是一个数字,一般用于在对象进行相等性判断是来标识对象,也可用于在集合中作为对象的索引。

默认的GetHashCode方法并不保证能为所有的对象生成唯一的Hash值。

public Type GetType()

返回当前实例的类型信息,如:Int32,String,Person等。

protected Object MemberwiseClone()

创建一个当前对象的浅表副本。

此方法会创建一个新的对象,并将源对象中的非静态字段的值复制到新对象中,但要注意的是,如果字段是引用类型,此方法只会复制引用,也就是说,两个对象中的该引用字段会指向同一个对象。

public static bool ReferenceEquals(Object objA, Object objB)

判断两个引用是否指向同一个对象;特别的,如果两个引用均为null,结果也为true。

另外,如果参数是值类型,基于自动装箱的原因,结果总是为false。

public virtual string ToString()

返回一个字符串,默认返回当前对象的类型信息。一般会在子类中重写。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


本文名称:System.Object类-创新互联
当前路径:http://6mz.cn/article/pspdp.html

其他资讯