Guide pratique pour substituer la méthode ToString (Guide de programmation C#)

En C#, chaque classe ou struct hérite implicitement de la classe Object. Ainsi, chaque objet en C# obtient la méthode ToString, qui retourne une représentation sous forme de chaîne de cet objet. Par exemple, toutes les variables de type int ont une méthode ToString, ce qui leur permet de retourner leur contenu sous forme de chaîne :

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

Quand vous créez une classe ou un struct personnalisé, vous devez substituer la méthode ToString pour fournir des informations sur votre type au code client.

Pour plus d’informations sur l’utilisation de chaînes de format et d’autres types de mise en forme personnalisée avec la méthode ToString, consultez Mise en forme des types.

Important

Quand vous choisissez les informations à fournir par l’intermédiaire de cette méthode, déterminez si votre classe ou struct sera utilisé par du code non fiable. Veillez à ne pas fournir d’informations susceptibles d’être exploitées par du code malveillant.

Pour substituer la méthode ToString dans votre classe ou struct :

  1. Déclarez une méthode ToString avec les modificateurs et le type de retour suivants :

    public override string ToString(){}  
    
  2. Implémentez la méthode pour qu’elle retourne une chaîne.

    L’exemple suivant retourne le nom de la classe en plus des données propres à une instance particulière de la classe.

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

    Vous pouvez tester la méthode ToString comme illustré dans l’exemple de code suivant :

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

Voir aussi