如何覆寫 ToString 方法 (C# 程式設計指南)

C# 中的每個類別或結構都會隱含地繼承 Object 類別。 因此,C# 中的每個物件都會取得 ToString 方法,以傳回該物件的字串表示。 例如,所有 int 類型的變數都有 ToString 方法,並讓它們以字串傳回其內容︰

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

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

如需如何使用 ToString 方法以使用格式字串和其他類型之自訂格式的資訊,請參閱格式化類型

重要

當您決定要透過這種方法提供的資訊時,請考慮不受信任的程式碼是否要使用類別或結構。 請務必確定您未提供任何可能會遭惡意程式碼利用的資訊。

在類別或結構中覆寫 ToString 方法:

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

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

    下列範例除了類別之特定執行個體的特定資料之外還會傳回類別名稱。

    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
    

另請參閱