Como substituir o método ToString (Guia de Programação em C#)
Cada classe ou struct no C# herda implicitamente a classe Object. Portanto, cada objeto no C# obtém o método ToString, que retorna uma representação de cadeia de caracteres desse objeto. Por exemplo, todas as variáveis do tipo int
tem um método ToString
, que permite retornar seus conteúdos como uma cadeia de caracteres:
int x = 42;
string strx = x.ToString();
Console.WriteLine(strx);
// Output:
// 42
Ao criar uma classe ou struct personalizada, é necessário substituir o método ToString a fim de fornecer informações sobre o tipo ao código cliente.
Para obter informações sobre como usar cadeias de caracteres de formato e outros tipos de formatação personalizada com o método ToString
, consulte Tipos de Formatação.
Importante
Ao decidir quais informações devem ser fornecidas por meio desse método, considere se a classe ou struct será utilizado por código não confiável. Assegure-se de que nenhuma informação que possa ser explorada por código mal-intencionado seja fornecida.
Substituir o método ToString
na classe ou struct:
Declare um método
ToString
com os seguintes modificadores e tipo retornado:public override string ToString(){}
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 particular da classe.
class Person { public string Name { get; set; } public int Age { get; set; } public override string ToString() { return "Person: " + Name + " " + Age; } }
É possível testar o método
ToString
, conforme mostrado no exemplo de código a seguir:Person person = new Person { Name = "John", Age = 12 }; Console.WriteLine(person); // Output: // Person: John 12