ToString
é o método principal de formatação no .NET Framework. Converte um objeto para sua representação de cadeia de caracteres para que seja apropriada para exibição. (Para obter informações sobre o suporte de formatação no .NET Framework, consulte Tipos de formatação..)
A implementação padrão do método de ToString retorna o nome de tipo totalmente qualificado de Object, como mostra o exemplo a seguir.
using System;
public class Example
{
public static void Main()
{
Object obj = new Object();
Console.WriteLine(obj.ToString());
}
}
// The example displays the following output:
// System.Object
Porque Object é a classe base de qualquer referência no .NET Framework, esse comportamento é herdada pelos tipos de referência que não substitui o método de ToString .
O Exemplo a seguir ilustra isso.
Define uma classe denominada Object1 que aceita a implementação padrão de todos os membros de Object . O método de ToString retorna o nome de tipo totalmente qualificado do objeto.
using System;
using Examples;
namespace Examples
{
public class Object1
{
}
}
public class Example
{
public static void Main()
{
object obj1 = new Object1();
Console.WriteLine(obj1.ToString());
}
}
// The example displays the following output:
// Examples.Object1
Os tipos geralmente substitui o método de ToString para retornar uma cadeia de caracteres que representa a instância do objeto. Por exemplo, os tipos base como Char, Int32, e String fornecem implementações de ToString que retornam a forma de cadeia de caracteres do valor que representa o objeto.
O exemplo a seguir define uma classe, Object2, que substitui o método ToString para retornar o nome do tipo juntamente com o valor.
using System;
public class Object2
{
private object value;
public Object2(object value)
{
this.value = value;
}
public override string ToString()
{
return base.ToString() + ": " + value.ToString();
}
}
public class Example
{
public static void Main()
{
Object2 obj2 = new Object2('a');
Console.WriteLine(obj2.ToString());
}
}
// The example displays the following output:
// Object2: a
Observações para implementadoresQuando você implementar seus próprios tipos, você deve substituir o método de ToString para retornar valores que são significativos para esses tipos. Classes derivadas que exigem mais controle sobre a formatação de ToString que fornecem podem implementar a interface de IFormattable . O método de IFormattable.ToString(String, IFormatProvider) permite que você defina cadeias de caracteres de formato que controlam a formatação e usar um objeto de IFormatProvider que pode fornecer a formatação de cultura específica.