共用方式為


System.Object 類別

本文提供此 API 參考文件的補充備註。

類別 Object 是所有 .NET 類別的最終基類;它是類型階層的根目錄。

由於 .NET 中的所有類別都是衍生自 Object,因此類別中 Object 定義的每個方法都可在系統中的所有物件中使用。 衍生類別可以覆寫其中一些方法,包括:

  • Equals:支援對象之間的比較。
  • Finalize:在自動回收物件之前,執行清除作業。
  • GetHashCode:產生對應至 物件值的數位,以支援哈希表的使用。
  • ToString:製造人類可讀取的文字字串,描述 類別的實例。

語言通常不需要類別來宣告繼承, Object 因為繼承是隱含的。

效能考量

如果您要設計一個類別,比如一個必須處理任何類型物件的集合,您可以建立接受 Object 類別實例的類別成員。 不過,資料型別的裝箱和拆箱過程會帶來效能損耗。 如果您知道新類別會經常處理某些實值型別,您可以使用兩種策略之一,將 Boxing 的成本降到最低。

  • 建立可接受Object類型的通用方法,以及一組特定類型的方法多載,以處理您預期類別經常處理的每種實值類型。 如果存在一個接受呼叫參數類型的類型特定方法,則不會發生裝箱,並且會叫用該類型特定方法。 如果沒有與呼叫參數類型相匹配的方法參數,則會將參數封裝並調用一般方法。
  • 設計您的類型及其成員以使用 泛型。 當您建立 類別的實例並指定泛型類型自變數時,Common Language Runtime 會建立封閉式泛型類型。 泛型方法具有類型專屬特性,可以在不需要將呼叫參數裝箱的情況下被叫用。

雖然有時需要開發接受和傳回 Object 型別的一般用途類別,但您也可以提供類型特定的類別來處理常用型別來改善效能。 例如,提供用於設置及獲取布爾值的特定類別,可以消除裝箱和拆箱布爾值的開銷。