首页 > 软件操作教程 > 编程开发 > C#
题目内容

C# System.Object

题目答案

因为所有类都继承于SystenUDbject,所以这些类都可以访问该类中受保护的成员和公共成员。下面看看可供使用的成员有哪些。System.Object包含的方法如表所示。

方 法

返回类型

虚拟

静态

说明

Object

N/A

System.Object类型的构造函数,由派生类型的构造函数自动调用

-Object()(也称为 FinalizeO,参见下一节)

N/A

Systera.Object类型的析构函数,由派生类型的析构函数自动调 用,不能手动调用

Equals(object)

bool

把调用该方法的对象与另一个对象相比,如果它们相等,就返回

true默认的实现代码会査看其对象参数是否引用了同一个对象 (因为对象是引用类型)。如果想以不同方式来比较对象,则可以 重写该方法,例如.比较两个对象的状态

Equalstobject, object)

bool

这个方法比较传送给它的两个对象,看看它们是否相等。检査时 使用了 Equals(object)方法。注意,如果两个对象都是空引用,

这个方法就返回true

ReferenceEquals(object,

object)

bool

这个方法比较传送给它的两个对象,看看它们是不是同一个实例

的引用

ToStringO

string

返回一个对应于对象实例的字符串。默认情况下,这是一个类类

型的限定名称,但可以重写它,给类类型提供合适的实现代码

MemberwiseClone()

object

通过创建一个新对象实例并复制成员,以复制该对象。成员复制

不会得到这些成员的新实例。新对象的任何引用类型成员都将引

用与源类相同的对象,这个方法是受保护的,所以只能在类或派

生的类中使用

GetType()

System. Type

System/Type对象的形式返回对象的类型

GetHashCode()

int

在箱要此参数的地方,用作对象的散列函数,它返回一个以压缩

形式标识对象状态的值

    这些方法是.NET Framework中对象类型必须支持的基本方法,但我们可能从不使用其中的某些类型(或者只在特殊情况下使用,如GetHashCode())。

    在利用多态性时,GetTypeO是一个有用的方法,允许根据对象的类型来执行不同的操作,而不是像通常那样,对所有对象都执行相同的操作。例如,如果函数接受一个object类型的参数(表示可以给该函数传送任何信息),就可以在遇到某些对象时执行额外的任务。组合使用Getiype()和typef(这是一个C#运算符,可以把类名转换为System.Type对象),就可以进行比较操作,如下所示:

if (myObj.GetType() == typeof(MyComplexClass))

{

    // myObj is an instance of the class MyComplexClass.

}

    返回的System.Type对象可以完成更多工作,这里不讨论它们。重写ToStringO方法也是非常有用的,在对象的内容可以用一个人们能理解的字符串表示时,尤其如此。


网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端