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

C# System.Object

提問人:劉團圓發(fā)布時間:2020-12-07

因為所有類都繼承于SystenUDbject,所以這些類都可以訪問該類中受保護的成員和公共成員。下面看看可供使用的成員有哪些。System.Object包含的方法如表所示。

方 法

返回類型

虛擬

靜態(tài)

說明

Object。

N/A

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

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

N/A

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

Equals(object)

bool

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

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

Equalstobject, object)

bool

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

這個方法就返回true

ReferenceEquals(object,

object)

bool

這個方法比較傳送給它的兩個對象,看看它們是不是同一個實例

的引用

ToStringO

string

返回一個對應于對象實例的字符串。默認情況下,這是一個類類

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

MemberwiseClone()

object

通過創(chuàng)建一個新對象實例并復制成員,以復制該對象。成員復制

不會得到這些成員的新實例。新對象的任何引用類型成員都將引

用與源類相同的對象,這個方法是受保護的,所以只能在類或派

生的類中使用

GetType()

System. Type

System/Type對象的形式返回對象的類型

GetHashCode()

int

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

形式標識對象狀態(tài)的值

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

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

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

{

    // myObj is an instance of the class MyComplexClass.

}

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


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

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