Gewusst wie: Überschreiben der ToString-Methode (C#-Programmierhandbuch)How to: Override the ToString Method (C# Programming Guide)

In C# erben alle Klassen oder Strukturen implizit die Object-Klasse.Every class or struct in C# implicitly inherits the Object class. Deshalb erhält jedes Objekt in C# die ToString-Methode, die eine Zeichenfolgenrepräsentation dieses Objekts zurückgibt.Therefore, every object in C# gets the ToString method, which returns a string representation of that object. Alle Variablen des Typs int verfügen z.B über eine ToString-Methode, die es ihnen ermöglicht, ihren Inhalt als Zeichenfolge zurückzugeben:For example, all variables of type int have a ToString method, which enables them to return their contents as a string:

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

Wenn Sie eine benutzerdefinierte Klasse oder Struktur erstellen, sollten Sie die ToString-Methode außer Kraft setzen, um Informationen zum Typ an den Clientcode bereitzustellen.When you create a custom class or struct, you should override the ToString method in order to provide information about your type to client code.

Weitere Informationen zum Verwenden von Formatzeichenfolgen und anderen Arten von benutzerdefinierten Formaten mit der ToString-Methode finden Sie unter Formatierung von Typen.For information about how to use format strings and other types of custom formatting with the ToString method, see Formatting Types.

Wichtig

Wenn Sie sich entschieden haben, welche Informationen Sie über diese Methode bereitstellen möchten, beziehen Sie auch mit ein, ob Ihre Klasse oder Struktur von nicht vertrauenswürdigem Code verwendet wird.When you decide what information to provide through this method, consider whether your class or struct will ever be used by untrusted code. Achten Sie darauf, dass Sie keine Informationen bereitstellen, die von böswilligem Code ausgenutzt werden könnten.Be careful to ensure that you do not provide any information that could be exploited by malicious code.

Außerkraftsetzen der ToString-Methode in Ihrer Klasse oder StrukturTo override the ToString method in your class or struct

  1. Deklarieren Sie eine ToString-Methode mit folgenden Modifizierern und Rückgabetypen:Declare a ToString method with the following modifiers and return type:

    public override string ToString(){}  
    
  2. Implementieren Sie die Methode, sodass sie eine Zeichenfolge zurückgibt.Implement the method so that it returns a string.

    Im folgenden Beispiel wird der Name der Klasse neben den für eine bestimmte Instanz der Klasse spezifischen Daten zurückgegeben.The following example returns the name of the class in addition to the data specific to a particular instance of the class.

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

    Sie können die ToString-Methode auch wie im folgenden Beispiel gezeigt prüfen:You can test the ToString method as shown in the following code example:

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

Siehe auchSee Also

IFormattable
C#-ProgrammierhandbuchC# Programming Guide
Klassen und StrukturenClasses and Structs
ZeichenfolgenStrings
stringstring
newnew
overrideoverride
virtualvirtual
Formatierung von TypenFormatting Types