Procedimiento Invalidar el método ToString (Guía de programación de C#)How to: Override the ToString Method (C# Programming Guide)

Cada clase o struct de C# hereda implícitamente la clase Object.Every class or struct in C# implicitly inherits the Object class. Por consiguiente, cada objeto de C# obtiene el método ToString, que devuelve una representación de cadena de ese objeto.Therefore, every object in C# gets the ToString method, which returns a string representation of that object. Por ejemplo, todas las variables de tipo int tienen un método ToString, que las habilita para devolver su contenido como cadena:For example, all variables of type int have a ToString method, which enables them to return their contents as a string:

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

Cuando cree una clase o struct personalizados, debe reemplazar el método ToString para proporcionar información sobre el tipo al código de cliente.When you create a custom class or struct, you should override the ToString method in order to provide information about your type to client code.

Para obtener información sobre cómo usar cadenas de formato y otros tipos de formato personalizado con el método ToString, vea Aplicar formato a tipos.For information about how to use format strings and other types of custom formatting with the ToString method, see Formatting Types.

Importante

Cuando decida qué información va a proporcionar a través de este método, considere si la clase o struct se va a usar alguna vez en código que no sea de confianza.When you decide what information to provide through this method, consider whether your class or struct will ever be used by untrusted code. Asegúrese de que no proporciona información que pueda ser aprovechada por código malintencionado.Be careful to ensure that you do not provide any information that could be exploited by malicious code.

Para reemplazar el método ToString en una clase o struct:To override the ToString method in your class or struct:

  1. Declare un método ToString con los modificadores y el tipo de valor devuelto siguientes:Declare a ToString method with the following modifiers and return type:

    public override string ToString(){}  
    
  2. Implemente el método para que devuelva una cadena.Implement the method so that it returns a string.

    En el ejemplo siguiente, se devuelve el nombre de la clase, además de los datos específicos de una instancia concreta de la clase.The following example returns the name of the class in addition to the data specific to a particular instance of the class.

    class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
    
        public override string ToString()
        {
            return "Person: " + Name + " " + Age;
        }
    }
    

    Se puede probar el método ToString tal y como se muestra en el siguiente ejemplo de código:You can test the ToString method as shown in the following code example:

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

Vea tambiénSee also