ToString
es el método de formato primario en .NET Framework. Convierte un objeto en su representación de cadena para que sea conveniente para la presentación. (Para obtener más información sobre compatibilidad de formatos en .NET Framework, vea Aplicar formato a tipos.)
La implementación predeterminada del método ToString devuelve el nombre completo del tipo de Object, como se muestra en el ejemplo siguiente.
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
Dado que Object es la clase base de todos los tipos de referencia en .NET Framework, este comportamiento hereda tipos de referencia que no invalidan el método ToString. Esto se puede ver en el ejemplo siguiente. Define una clase denominada Object1 que acepta la implementación predeterminada de todos los miembros Object. Su método ToString devuelve el nombre de tipo completo del 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
Los tipos invalidan normalmente el método ToString para devolver una cadena que representa la instancia de objeto. Por ejemplo, los tipos base tales como Char, Int32 y String proporcionan implementaciones de ToString que devuelven el formato de cadena del valor que representa el objeto. En el siguiente ejemplo se define una clase, Object2, que invalida el método ToString para devolver el nombre de tipo junto con su 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
Notas para los implementadoresAl implementar sus propios tipos, debería invalidar el método ToString a los valores devueltos que son significativos para esos tipos. Las clases derivadas que requieren más control sobre cómo dar formato que el proporciona ToString pueden implementar la interfaz IFormattable. Su método IFormattable.ToString(String, IFormatProvider) permite definir cadenas de formato que controlan el formato y utilizar un objeto IFormatProvider que puede proporcionar el formato específico de la referencia cultural.