Metodo Object.ToString (System)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Metodo Object.ToString
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Restituisce una stringa che rappresenta l'oggetto corrente.

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)
Sintassi

Visual Basic
Public Overridable Function ToString As String
C#
public virtual string ToString()
Visual C++
public:
virtual String^ ToString()
F#
abstract ToString : unit -> string 
override ToString : unit -> string 

Valore restituito

Tipo: System.String
Stringa che rappresenta l'oggetto corrente.
Note

ToString è il principale metodo di formattazione in .NET Framework. Converte un oggetto nella rappresentazione in formato stringa in modo che sia adatto alla visualizzazione. Per ulteriori informazioni sul supporto per la formattazione in .NET Framework, vedere Formattazione dei tipi di dati.

L'implementazione predefinita del metodo ToString restituisce il nome completo del tipo di Object, come indicato nell'esempio seguente.

Visual Basic

Module Example
   Public Sub Main()
      Dim obj As New Object()
      Console.WriteLine(obj.ToString())
   End Sub
End Module
' The example displays the following output:
'      System.Object


C#

using System;

public class Example
{
   public static void Main()
   {
      Object obj = new Object();
      Console.WriteLine(obj.ToString());
   }
}
// The example displays the following output:
//      System.Object


Poiché Object è la classe di base di tutti i tipi riferimento in .NET Framework, questo comportamento è ereditato da tipi riferimento che non eseguono l'override del metodo ToString. Nell'esempio riportato di seguito viene illustrata questa situazione. Definisce una classe denominata Object1 che accetta l'implementazione predefinita di tutti i membri Object. Il relativo metodo ToString restituisce il nome del tipo completo dell'oggetto.

Visual Basic

Imports Examples

Namespace Examples
   Public Class Object1
   End Class
End Namespace

Module Example
   Public Sub Main()
      Dim obj1 As New Object1()
      Console.WriteLine(obj1.ToString())
   End Sub
End Module
' The example displays the following output:
'   Examples.Object1


C#

using System;
using Examples;

namespace Examples
{
   public class Object1
   {
   }
}

public class Example
{
   public static void Main()
   {
      object obj1 = new Object1();
      Console.WriteLine(obj1.ToString());
   }
}
// The example displays the following output:
//   Examples.Object1


I tipi spesso eseguono l'override del metodo ToString per restituire una stringa che rappresenta un'istanza dell'oggetto. I tipi di base, come ad esempio Char, Int32 e String offrono ToString implementazioni che restituiscono il formato stringa del valore che l'oggetto rappresenta. Nell'esempio seguente viene definita la classe Object2 che esegue l'override del metodo ToString per restituire il nome del tipo e il valore.

Visual Basic

Public Class Object2
   Private value As Object

   Public Sub New(value As Object)
      Me.value = value
   End Sub

   Public Overrides Function ToString() As String
      Return MyBase.ToString + ": " + value.ToString()
   End Function
End Class

Module Example
   Public Sub Main()
      Dim obj2 As New Object2("a"c)
      Console.WriteLine(obj2.ToString())
   End Sub
End Module
' The example displays the following output:
'       Object2: a


C#

using System;

public class Object2
{
   private object value;

   public Object2(object value)
   {
      this.value = value;
   }

   public override string ToString()
   {
      return base.ToString() + ": " + value.ToString();
   }
}

public class Example
{
   public static void Main()
   {
      Object2 obj2 = new Object2('a');
      Console.WriteLine(obj2.ToString());
   }
}
// The example displays the following output:
//       Object2: a


Note per gli implementatori

Quando si implementano tipi propri, è necessario eseguire l'override del metodo ToString per restituire valori significativi per quei tipi. Le classi derivate che richiedono più controllo sulla formattazione rispetto a quanto offerto da ToString possono implementare l'interfaccia IFormattable. Il metodo IFormattable.ToString(String, IFormatProvider) consente di definire stringhe di formato che controllano la formattazione e di utilizzare un oggetto IFormatProvider che può fornire la formattazione specifica delle impostazioni cultura.

Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Supportato in:
Piattaforme

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Vedere anche

Riferimenti

Altre risorse

Cronologia delle modifiche

Data

Cronologia

Motivo

Marzo 2011

Rivisto in modo esteso.

Commenti e suggerimenti dei clienti.