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 você cria uma classe personalizada ou struct, você deve substituir o ToString método para fornecer informações sobre seu tipo para o 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 ToString
método em sua classe ou struct:
Declare um
ToString
método com os seguintes modificadores e tipo de retorno: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 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 Person { Name = "John", Age = 12 }; Console.WriteLine(person); // Output: // Person: John 12