Dela via


Så här åsidosätter du ToString-metoden (C#-programmeringsguiden)

Varje klass eller struct i C# ärver Object implicit klassen. Därför hämtar ToString varje objekt i C# metoden, som returnerar en strängrepresentation av objektet. Till exempel har alla variabler av typen int en ToString metod som gör att de kan returnera innehållet som en sträng:

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

När du skapar en anpassad klass eller struct bör du åsidosätta ToString metoden för att ange information om din typ till klientkoden.

Information om hur du använder formatsträngar och andra typer av anpassad formatering med metoden finns i ToString Formateringstyper.

Viktigt!

När du bestämmer vilken information du ska ange via den här metoden bör du överväga om din klass eller struct någonsin kommer att användas av kod som inte är betrodd. Var noga med att se till att du inte anger någon information som kan utnyttjas av skadlig kod.

Så här åsidosätter ToString du metoden i din klass eller struct:

  1. Deklarera en ToString metod med följande modifierare och returtyp:

    public override string ToString(){}  
    
  2. Implementera metoden så att den returnerar en sträng.

    I följande exempel returneras namnet på klassen utöver de data som är specifika för en viss instans av klassen.

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

    Du kan testa ToString metoden enligt följande kodexempel:

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

Se även