位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > C# > 問(wèn)題詳情

C# System.Object

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-07

因?yàn)樗蓄惗祭^承于SystenUDbject,所以這些類都可以訪問(wèn)該類中受保護(hù)的成員和公共成員。下面看看可供使用的成員有哪些。System.Object包含的方法如表所示。

方 法

返回類型

虛擬

靜態(tài)

說(shuō)明

Object。

N/A

System.Object類型的構(gòu)造函數(shù),由派生類型的構(gòu)造函數(shù)自動(dòng)調(diào)用

-Object()(也稱為 FinalizeO,參見(jiàn)下一節(jié))

N/A

Systera.Object類型的析構(gòu)函數(shù),由派生類型的析構(gòu)函數(shù)自動(dòng)調(diào) 用,不能手動(dòng)調(diào)用

Equals(object)

bool

把調(diào)用該方法的對(duì)象與另一個(gè)對(duì)象相比,如果它們相等,就返回

true。默認(rèn)的實(shí)現(xiàn)代碼會(huì)査看其對(duì)象參數(shù)是否引用了同一個(gè)對(duì)象 (因?yàn)閷?duì)象是引用類型)。如果想以不同方式來(lái)比較對(duì)象,則可以 重寫(xiě)該方法,例如.比較兩個(gè)對(duì)象的狀態(tài)

Equalstobject, object)

bool

這個(gè)方法比較傳送給它的兩個(gè)對(duì)象,看看它們是否相等。檢査時(shí) 使用了 Equals(object)方法。注意,如果兩個(gè)對(duì)象都是空引用,

這個(gè)方法就返回true

ReferenceEquals(object,

object)

bool

這個(gè)方法比較傳送給它的兩個(gè)對(duì)象,看看它們是不是同一個(gè)實(shí)例

的引用

ToStringO

string

返回一個(gè)對(duì)應(yīng)于對(duì)象實(shí)例的字符串。默認(rèn)情況下,這是一個(gè)類類

型的限定名稱,但可以重寫(xiě)它,給類類型提供合適的實(shí)現(xiàn)代碼

MemberwiseClone()

object

通過(guò)創(chuàng)建一個(gè)新對(duì)象實(shí)例并復(fù)制成員,以復(fù)制該對(duì)象。成員復(fù)制

不會(huì)得到這些成員的新實(shí)例。新對(duì)象的任何引用類型成員都將引

用與源類相同的對(duì)象,這個(gè)方法是受保護(hù)的,所以只能在類或派

生的類中使用

GetType()

System. Type

System/Type對(duì)象的形式返回對(duì)象的類型

GetHashCode()

int

在箱要此參數(shù)的地方,用作對(duì)象的散列函數(shù),它返回一個(gè)以壓縮

形式標(biāo)識(shí)對(duì)象狀態(tài)的值

    這些方法是.NET Framework中對(duì)象類型必須支持的基本方法,但我們可能從不使用其中的某些類型(或者只在特殊情況下使用,如GetHashCode())。

    在利用多態(tài)性時(shí),GetTypeO是一個(gè)有用的方法,允許根據(jù)對(duì)象的類型來(lái)執(zhí)行不同的操作,而不是像通常那樣,對(duì)所有對(duì)象都執(zhí)行相同的操作。例如,如果函數(shù)接受一個(gè)object類型的參數(shù)(表示可以給該函數(shù)傳送任何信息),就可以在遇到某些對(duì)象時(shí)執(zhí)行額外的任務(wù)。組合使用Getiype()和typef(這是一個(gè)C#運(yùn)算符,可以把類名轉(zhuǎn)換為System.Type對(duì)象),就可以進(jìn)行比較操作,如下所示:

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

{

    // myObj is an instance of the class MyComplexClass.

}

    返回的System.Type對(duì)象可以完成更多工作,這里不討論它們。重寫(xiě)ToStringO方法也是非常有用的,在對(duì)象的內(nèi)容可以用一個(gè)人們能理解的字符串表示時(shí),尤其如此。


繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部