Come eseguire l'override del metodo ToString (Guida per programmatori C#)
Ogni classe o struct in C# eredita in modo implicito la classe Object. Ogni oggetto in C# ottiene quindi il metodo ToString, che restituisce una rappresentazione di stringa dell'oggetto. Ad esempio, tutte le variabili di tipo int
hanno un metodo ToString
che consente loro di restituire il rispettivo contenuto sotto forma di stringa:
int x = 42;
string strx = x.ToString();
Console.WriteLine(strx);
// Output:
// 42
Quando si crea una classe o uno struct personalizzato, eseguire l'override del metodo ToString per fornire informazioni sul tipo al codice client.
Per informazioni sull'uso di stringhe di formato e altri tipi di formattazione personalizzata con il metodo ToString
, vedere Formattazione di tipi.
Importante
Dopo aver deciso quali informazioni comunicare tramite questo metodo, considerare se la classe o lo struct sarà usato da codice non attendibile. Verificare attentamente di non indicare informazioni che potrebbero essere sfruttate da malware.
Per eseguire l'override del metodo ToString
nella classe o nello struct:
Dichiarare un metodo
ToString
con i modificatori e il tipo restituito seguenti:public override string ToString(){}
Implementare il metodo in modo che restituisca una stringa.
L'esempio seguente restituisce il nome della classe oltre ai dati specifici per una particolare istanza della classe.
class Person { public string Name { get; set; } public int Age { get; set; } public override string ToString() { return "Person: " + Name + " " + Age; } }
È anche possibile testare il metodo
ToString
come illustrato nel codice di esempio seguente:Person person = new Person { Name = "John", Age = 12 }; Console.WriteLine(person); // Output: // Person: John 12