Přepsání metody ToString (Průvodce programováním v C#)

Každá třída nebo struktura v jazyce C# implicitně dědí Object třídu. Proto každý objekt v jazyce C# získá metodu ToString , která vrátí řetězcovou reprezentaci tohoto objektu. Například všechny proměnné typu int mají metodu ToString , která jim umožňuje vrátit jejich obsah jako řetězec:

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

Při vytváření vlastní třídy nebo struktury byste měli přepsat metodu ToString , aby poskytovala informace o vašem typu klientskému kódu.

Informace o použití formátovací řetězce a další typy vlastního formátování s metodou ToString naleznete v tématu Typy formátování.

Důležité

Když se rozhodnete, jaké informace chcete prostřednictvím této metody poskytnout, zvažte, jestli bude vaše třída nebo struktura někdy používána nedůvěryhodným kódem. Dávejte pozor, abyste nezadáli žádné informace, které by mohl zneužít škodlivý kód.

Přepsání ToString metody ve třídě nebo struktuře:

  1. Deklarujte metodu ToString s následujícími modifikátory a návratovým typem:

    public override string ToString(){}  
    
  2. Implementujte metodu tak, aby vrátil řetězec.

    Následující příklad vrátí název třídy kromě dat specifických pro konkrétní instanci třídy.

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

    Metodu ToString můžete otestovat, jak je znázorněno v následujícím příkladu kódu:

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

Viz také