如何:覆寫 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 方法
宣告具有下列修飾詞 (Modifier) 和傳回型別的 ToString 方法:
public override string ToString(){}
實作此方法,使其傳回字串。
除了此類別之特定執行個體 (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