Procedura: eseguire l'override del metodo ToString (Guida per programmatori C#)

Cambia visualizzazione:
ScriptFree
Visual Studio 2010 - Visual C#
Procedura: eseguire l'override del metodo ToString (Guida per programmatori C#)
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Ogni classe o struct in C# eredita in modo implicito la classe Object. Ogni oggetto in C# ottiene pertanto il metodo ToString, il quale restituisce una rappresentazione in formato stringa di tale oggetto. Tutte le variabili di tipo int dispongono ad esempio di un metodo ToString, che consente di restituire il relativo contenuto in formato stringa:

C#

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


Quando si crea una struttura o una classe personalizzata, è necessario eseguire l'override del metodo ToString per fornire informazioni sul tipo al codice client.

Nota sulla sicurezzaNota sulla sicurezza

Quando si decide quali informazioni fornire attraverso questo metodo, considerare se la classe o la struttura verrà utilizzata da codice non attendibile. Assicurarsi di non fornire informazioni che potrebbero essere utilizzate da codice dannoso.

Per eseguire l'override del metodo ToString nella classe o nello struct

  1. Dichiarare un metodo ToString con i modificatori e il tipo restituito seguenti:

    C#
    public override string ToString(){}
    
  2. Implementare il metodo in modo che restituisca una stringa.

    Nell'esempio seguente viene restituito il nome della classe insieme ai dati specifici di una determinata istanza della classe.

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

    È possibile testare il metodo ToString come illustrato nell'esempio di codice seguente:

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

Riferimenti

Concetti