ValueType.ToString Metodo

Definizione

Restituisce il nome completo del tipo di questa istanza.

public:
 override System::String ^ ToString();
public override string ToString ();
public override string? ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String

Restituisce

String

Nome di tipo completo.

Commenti

Il ValueType.ToString metodo esegue l'override Object.ToString del metodo e fornisce l'implementazione predefinita del ToString metodo per i tipi valore. I tipi valore sono tipi definiti dalla struct parola chiave in C# e dal Structure costrutto ... in End Structure Visual Basic. Dal punto di vista funzionale, tuttavia, l'implementazione è uguale a quella di Object.ToString : il metodo restituisce il nome completo del tipo.

I tipi valore definiti dalla parola chiave in C# e dal costrutto ... in Visual Basic in genere eseguono l'override del metodo per fornire una rappresentazione di stringa più significativa struct Structure del tipo di End Structure ValueType.ToString valore. Nell'esempio che segue viene illustrata la differenza. Definisce due tipi di valore, EmployeeA e EmployeeB , crea un'istanza di ognuno di essi e chiama il relativo ToString metodo . Poiché la EmployeeA struttura non esegue l'override ValueType.ToString del metodo , visualizza solo il nome completo del tipo. Il EmployeeB.ToString metodo , d'altra parte, fornisce informazioni significative sull'oggetto .

using System;
using Corporate.EmployeeObjects;

public class Example
{
   public static void Main()
   {
      var empA = new EmployeeA{ Name = "Robert",};
      Console.WriteLine(empA.ToString());
      
      var empB = new EmployeeB{ Name = "Robert",};
      Console.WriteLine(empB.ToString());
   }
}

namespace Corporate.EmployeeObjects
{
    public struct EmployeeA
    {
         public String Name { get; set; }
    }
    
    public struct EmployeeB
    {
         public String Name { get; set; }

         public override String ToString()
         {
              return Name;
         }
    }  
}
// The example displays the following output:
//     Corporate.EmployeeObjects.EmployeeA
//     Robert
Imports Corporate.EmployeeObjects

Module Example
   Public Sub Main()
      Dim empA As New EmployeeA With { .Name = "Robert" }
      Console.WriteLine(empA.ToString())
      
      Dim empB = new EmployeeB With { .Name = "Robert" }
      Console.WriteLine(empB.ToString())
   End Sub
End Module

Namespace Corporate.EmployeeObjects
    Public Structure EmployeeA
         Public Property Name As String 
    End Structure
    
    Public Structure EmployeeB
         Public Property Name As String 

         Public Overrides Function ToString() As String 
              Return Name
         End Function
    End Structure  
End Namespace
' The example displays the following output:
'     Corporate.EmployeeObjects.EmployeeA
'     Robert

Si noti che, anche se i tipi di enumerazione sono anche tipi valore, derivano dalla Enum classe , che esegue l'override di ValueType.ToString .

Note per il runtime Windows

Quando si chiama il metodo su una struttura Windows Runtime, fornisce il comportamento predefinito per i tipi valore che non eseguono ToString l'override di ToString . Fa parte del supporto fornito dal .NET Framework per il runtime di Windows (vedere Supporto di .NET Framework per le app di Windows Store e Windows Runtime). Windows Le strutture di runtime non possono eseguire l'override di , anche se sono scritte con C# o Visual Basic, perché non ToString possono avere metodi. Inoltre, le strutture nella Windows Runtime non ereditano ValueType . Tuttavia, sembrano avere metodi , e quando vengono utilizzati nel codice C# o Visual Basic e il .NET Framework fornisce il comportamento predefinito per ToString Equals questi GetHashCode metodi.

Si applica a