ValueType.ToString Méthode

Définition

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

Types de valeurs définis par le mot clé struct en C# et Structure... End Structure construction dans Visual Basic remplace généralement la méthode ValueType.ToString 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 EmployeeAEmployeeBcrée une instance de chacun d’eux 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, en revanche, 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 à Windows Runtime

Lorsque vous appelez la méthode ToString sur une structure Windows Runtime, elle fournit le comportement par défaut pour les types valeur qui ne remplacent pas ToString. Cela fait partie de la prise en charge que .NET fournit pour Windows Runtime (voir 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 avec C# ou Visual Basic, car elles ne peuvent pas avoir de méthodes. (En outre, les structures de la Windows Runtime elle-même n'héritent pas ValueType.) Toutefois, ils semblent avoir des méthodes ToString, Equals et 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 à