Partager via


ValueType.ToString Méthode

Définition

Retourne le nom de type qualifié complet de cette instance.

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

Retours

Nom complet du type.

Remarques

La ValueType.ToString méthode remplace la Object.ToString méthode et fournit l’implémentation par défaut de la méthode pour les ToString types valeur. (Les types de valeurs sont des types définis par le struct mot clé en C#, et par le Structure...End Structure construction en Visual Basic.) Toutefois, sur le plan fonctionnel, l’implémentation est identique à celle de Object.ToString: la méthode retourne le nom de type complet.

Les types de valeurs définis par le struct mot clé en C# et la Structureconstruction ...End Structure en Visual Basic remplacent généralement la ValueType.ToString méthode pour fournir une représentation sous forme de chaîne plus explicite du type valeur. L'exemple suivant illustre la différence. Il définit deux types de valeurs, EmployeeA et EmployeeB, crée un instance de chacun et appelle sa ToString méthode. Étant donné que la EmployeeA structure ne remplace pas la ValueType.ToString méthode, elle affiche uniquement le nom de type complet. La EmployeeB.ToString méthode, d’autre part, fournit des informations significatives sur l’objet.

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
namespace Corporate.EmployeeObjects

[<Struct>]
type EmployeeA =
    val mutable Name : string

[<Struct>]
type EmployeeB =
    val mutable Name : string
    override this.ToString() = 
          this.Name

module Example =
     let empA = EmployeeA(Name="Robert")
     printfn $"{empA}"

     let empB = EmployeeB(Name="Robert")
     printfn $"{empB}"
// 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

Notez que, bien que les types d’énumération soient également des types valeur, ils dérivent de la Enum classe, qui remplace ValueType.ToString.

Remarques relatives au Windows Runtime

Lorsque vous appelez la ToString méthode sur une structure Windows Runtime, elle fournit le comportement par défaut pour les types de valeurs qui ne remplacent ToStringpas . Cela fait partie de la prise en charge que .NET fournit pour le Windows Runtime (consultez Prise en charge de .NET pour les applications du Windows Store et Windows Runtime). Windows Runtime structures ne peuvent pas remplacer ToString, même si elles sont écrites en C# ou Visual Basic, car elles ne peuvent pas avoir de méthodes. (En outre, les structures du Windows Runtime lui-même n’héritent ValueTypepas.) Toutefois, ils semblent avoir ToStringdes méthodes , Equalset GetHashCode lorsque vous les utilisez dans votre code C# ou Visual Basic, et .NET fournit le comportement par défaut pour ces méthodes.

S’applique à