Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Ogni classe o struct in C# eredita in modo implicito la classe Object. Pertanto, ogni oggetto in C# ottiene il ToString metodo , che restituisce una rappresentazione di stringa di tale oggetto. Ad esempio, tutte le variabili di tipo int
hanno un ToString
metodo che consente di restituire il contenuto come stringa:
int x = 42;
string strx = x.ToString();
Console.WriteLine(strx);
// Output:
// 42
Quando si crea una classe o uno struct personalizzato, è necessario eseguire l'override del ToString metodo per fornire informazioni sul tipo al codice client.
Per informazioni su come usare stringhe di formato e altri tipi di formattazione personalizzata con il ToString
metodo , vedere Formattazione dei tipi.
Importante
Quando si decide quali informazioni fornire tramite questo metodo, valutare se la classe o la struct verranno mai usate dal codice non fidato. Prestare attenzione a assicurarsi di non fornire informazioni che potrebbero essere sfruttate da codice dannoso.
Per eseguire l'override del ToString
metodo nella classe o nello struct:
Dichiarare un
ToString
metodo con i modificatori e il tipo restituito seguenti:public override string ToString(){}
Implementare il metodo in modo che restituisca una stringa.
Nell'esempio seguente viene restituito il nome della classe oltre ai dati specifici di una determinata istanza della classe .
class Person { public string Name { get; set; } public int Age { get; set; } public override string ToString() { return "Person: " + Name + " " + Age; } }
È possibile testare il
ToString
metodo come illustrato nell'esempio di codice seguente:Person person = new() { Name = "John", Age = 12 }; Console.WriteLine(person); // Output: // Person: John 12