ValueType.ToString Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce il nome completo del tipo di questa istanza.
public:
override System::String ^ ToString();
public override string ToString ();
public override string? ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
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 Structure
costrutto ...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 Structure
costrutto ...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 EmployeeA
ValueType.ToString metodo, visualizza solo il nome completo del tipo. Il EmployeeB.ToString
metodo, d'altra parte, fornisce informazioni significative sull'oggetto.
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
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.