Leggere in inglese

Condividi tramite


ValueType.ToString Metodo

Definizione

Restituisce il nome completo del tipo di questa istanza.

C#
public override string ToString();
C#
public override string? ToString();

Restituisce

Nome di tipo completo.

Commenti

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

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

C#
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

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

Note per la Windows Runtime

Quando si chiama il metodo in una struttura Windows Runtime, fornisce il comportamento predefinito per i tipi di valore che non eseguono l'override ToStringToStringdi . Questo è parte del supporto fornito da .NET per la Windows Runtime (vedere Supporto .NET per le app di Windows Store e Windows Runtime). Windows Runtime strutture non possono eseguire l'override, anche se sono scritte ToStringcon C# o Visual Basic, perché non possono avere metodi. Inoltre, le strutture nel Windows Runtime stesso non ereditano ValueType.) Tuttavia, sembrano avere ToStringmetodi , Equalse GetHashCode quando vengono usati nel codice C# o Visual Basic e .NET fornisce il comportamento predefinito per questi metodi.

Si applica a

Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0