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

String

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 valeur sont des types définis par le struct mot clé en C#, et par la Structureconstruction ...End Structure dans Visual Basic.) En revanche, l’implémentation est fonctionnellement identique à celle de Object.ToString: la méthode retourne le nom de type complet.

Les types valeur définis par le struct mot clé en C# et la Structureconstruction ...End Structure dans Visual Basic remplacent généralement la ValueType.ToString méthode pour fournir une représentation sous forme de chaîne plus significative du type valeur. L'exemple suivant illustre la différence. Il définit deux types valeur et EmployeeA EmployeeBcrée une 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. En revanche, la EmployeeB.ToString méthode 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 valeur qui ne remplacent ToStringpas . Cela fait partie de la prise en charge de .NET Framework pour les Windows Runtime (voir prise en charge de .NET Framework pour Windows Store Apps et Windows Runtime). Windows Runtime structures ne peuvent pas remplacerToString, même si elles sont écrites avec C# ou Visual Basic, car elles ne peuvent pas avoir de méthodes. (En outre, les structures dans le Windows Runtime lui-même n’héritent ValueTypepas .) Toutefois, ils semblent avoir ToString, Equalset GetHashCode des méthodes lorsque vous les utilisez dans votre code C# ou Visual Basic, et le .NET Framework fournit le comportement par défaut pour ces méthodes.

S’applique à