How to: Substituir o método ToString (guia de programação C#)

Cada classe ou struct no C# implicitamente herda de Object classe. Portanto, todos os objetos C# obtém o ToString método, que retorna uma representação de seqüência de caracteres de objeto. Por exemplo, todas as variáveis do tipo int tem um ToString método, que permite retornar seu conteúdo como uma seqüência de caracteres:

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

Quando você cria uma classe personalizada ou struct, você deve substituir o ToString método para fornecer informações sobre o seu tipo para o código do cliente.

Observação de segurançaObservação sobre segurança

Quando você decide quais informações devem ser fornecidas por meio desse método, considere a possibilidade de se sua classe ou struct será nunca usada pelo código não confiável. Tenha cuidado para garantir que você não fornecer qualquer informação que pode ser explorada por código mal-intencionado.

Para substituir o método ToString em sua classe ou struct

  1. Declarar um ToString método com os seguintes modificadores e o tipo de retorno:

    public override string ToString(){}
    
  2. Implemente o método para que ele retorne uma seqüência de caracteres.

    O exemplo a seguir retorna o nome da classe, além de dados específico para uma determinada instância da classe.

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

    Você pode testar o ToString método conforme mostrado no exemplo de código a seguir:

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

Consulte também

Referência

Classes e estruturas (guia de programação de C#)

a seqüência de caracteres (C# referência)

new (C# Reference)

override (C# Reference)

virtual (C# Reference)

Conceitos

C# Programming Guide

Strings (C# Programming Guide)