Udostępnij za pośrednictwem


Porady: zastępowanie metody ToString (Przewodnik programowania w języku C#)

Każdej klasy lub struktury w C# niejawnie dziedziczy Object klasy.W związku z tym, pobiera każdy obiekt w C# ToString metoda, która zwraca ciąg reprezentujący tego obiekt. Na przykład wszystkie zmienne typu int mają ToString metoda, która umożliwia im przywrócić ich zawartość jako ciąg znaków:

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

Podczas utworzyć niestandardowej klasy lub struct powinny zastępować ToString metoda w celu zapewnienia informacji o typie, aby kod klienta.

Aby uzyskać informacje dotyczące używania ciągi formatów i inne typy formatowania niestandardowego z ToString metoda, zobacz Typy formatowania w programie .NET Framework.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Po zdecydowaniu, jakie informacje zapewniające za pomocą tej metoda, należy rozważyć, czy klasy lub struktury będą coraz używane przez niezaufany kod.Należy zachować ostrożność w celu zapewnienia, że nie zapewniają wszelkie informacje, która może być wykorzystana przez złośliwego kodu.

Aby zastąpić ToString metoda w klasie lub strukturze

  1. Oświadczają, ToString metoda z następujących modyfikatorów oraz zwrócony typ:

    public override string ToString(){}
    
  2. Implementuje metoda , dzięki czemu zwraca ciąg znaków.

    Poniższy przykład zwraca nazwę klasy, w uzupełnieniu do danych określonych do konkretnej instancji klasy.

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

    Można przetestować ToString metoda , jak pokazano w poniższym przykładzie:

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

Zobacz też

Informacje

Klasy i struktury (Przewodnik programowania w języku C#)

string (odwołanie w C#)

new (odwołanie w C#)

override (odwołanie w C#)

virtual (odwołanie w C#)

IFormattable

Koncepcje

Przewodnik programowania w języku C#

Inne zasoby

Ciągi (Przewodnik programowania w języku C#)

Typy formatowania w programie .NET Framework