共用方式為


如何:覆寫 ToString 方法 (C# 程式設計手冊)

C# 中的每一個類別與結構 (Struct) 都會隱含繼承 Object 類別。 所以,C# 中的每一個物件都會取得 ToString 方法,這個方法會傳回代表物件的字串。 例如,型別 int 的所有變數都有 ToString 方法,使其能夠以字串的形式傳回本身的內容:

int x = 42;
string strx = x.ToString();
Console.WriteLine(strx);
// Output: 
// 42

當您建立自訂的類別或結構 (Struct) 時,應該覆寫 ToString 方法,以便提供與型別相關的資訊給用戶端程式碼。

如需如何使用格式字串和其他類型的自訂格式設定與ToString方法,請參閱.NET Framework 中的格式化類型

安全性注意事項安全性提示

在決定要透過這個方法提供何種資訊時,請考慮類別或結構是否將會由未受信任的程式碼所使用。請確定不會提供任何可讓惡意程式碼利用的資訊。

若要在類別或結構內覆寫 ToString 方法

  1. 宣告具有下列修飾詞 (Modifier) 和傳回型別的 ToString 方法:

    public override string ToString(){}
    
  2. 實作此方法,使其傳回字串。

    除了此類別之特定執行個體 (Instance) 所特有的資料,下列範例也會傳回類別的名稱。

        class Person
        {
            public string Name { get; set; }
            public int Age { get; set; }
    
            public override string ToString()
            {
                return "Person: " + Name + " " + Age;
            }
        }
    

    您可以測試 ToString 方法,如下列範例程式碼所示:

    Person person = new Person { Name = "John", Age = 12 };
    Console.WriteLine(person);
    // Output: 
    // Person: John 12
    

請參閱

參考

類別和結構 (C# 程式設計手冊)

string (C# 參考)

new (C# 參考)

override (C# 參考)

virtual (C# 參考)

IFormattable

概念

C# 程式設計手冊

其他資源

字串 (C# 程式設計手冊)

.NET Framework 中的格式化類型