ValueType.ToString Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 Structure
construction ...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.