Partager via


Comment : substituer la méthode ToString (Guide de programmation C#)

Chaque classe ou struct hérite implicitement de la classe Object en C#. Par conséquent, 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 qui leur permet de retourner leur contenu sous la forme d'une chaîne :

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

Lorsque vous créez une classe ou une structure personnalisée, vous devez substituer la méthode ToString afin de 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 d' ToString , consultez Mise en forme des types dans .NET Framework.

Note de sécuritéNote de sécurité

Lors du choix des informations à fournir via cette méthode, demandez-vous si votre classe ou structure risque d'être utilisée par un code non fiable.Veillez à vous assurer que vous ne fournissez aucune information qui pourrait être exploitée par un 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 de telle sorte qu'elle retourne une chaîne.

    L'exemple suivant retourne non seulement le nom de la classe en plus des données spécifiques à 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 indiqué dans l'exemple de code suivant :

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

Voir aussi

Référence

Classes et structs (Guide de programmation C#)

string (référence C#)

new (référence C#)

override (référence C#)

virtual (référence C#)

IFormattable

Concepts

Guide de programmation C#

Autres ressources

Chaînes (Guide de programmation C#)

Mise en forme des types dans .NET Framework