Udostępnij za pośrednictwem


Jak: Zastąp metodę ToString (C# Programming Guide)

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.

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 strukturach (Podręcznik programowania C#)

ciąg (C# odniesienia)

nowe (C# odwołanie)

zastąpić (C# odniesienia)

wirtualne (C# odniesienia)

IFormattable

Koncepcje

Podręcznik programowania C#

Inne zasoby

Ciągi znaków (Podręcznik programowania C#)

Typy formatowania