Partilhar via


Como substituir o método ToString (Guia de Programação em C#)

Cada classe ou struct em C# herda implicitamente a Object classe. Portanto, cada objeto em C# obtém o ToString método, que retorna uma representação de cadeia de caracteres desse objeto. Por exemplo, todas as variáveis do tipo int têm um ToString método, que lhes permite retornar seu conteúdo como uma cadeia de caracteres:

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

Quando se cria uma classe ou struct personalizada, deve-se substituir o método ToString a fim de fornecer informações sobre o seu tipo ao código do cliente.

Para obter informações sobre como usar cadeias de caracteres de formato e outros tipos de formatação personalizada com o ToString método, consulte Tipos de formatação.

Importante

Ao decidir quais informações fornecer por meio desse método, considere se sua classe ou struct será usada por código não confiável. Tenha cuidado para garantir que você não forneça nenhuma informação que possa ser explorada por código mal-intencionado.

Para substituir o método ToString na sua classe ou estrutura:

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

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

    O exemplo a seguir retorna o nome da classe, além dos dados específicos de uma instância específica 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 como mostrado no exemplo de código a seguir:

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

Ver também