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
Valori restituiti
Nome completo del tipo.
Commenti
Il ValueType.ToString metodo esegue l'override del Object.ToString metodo e fornisce l'implementazione predefinita del ToString metodo per i tipi valore. I tipi valore sono tipi definiti dalla parola chiave
Tipi valore definiti dalla parola chiave /> EmployeeAEmployeeB, crea un'istanza di ognuno e chiama il relativo ToString metodo. Poiché la struttura non esegue l'override EmployeeA del 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 valore, derivano dalla classe , che esegue l'override EnumValueType.ToStringdi .
Note su Windows Runtime
Quando si chiama il metodo ToString in una struttura Windows Runtime, fornisce il comportamento predefinito per i tipi valore che non eseguono l'override di ToString. Questo è parte del supporto fornito da .NET per Windows Runtime (vedere supporto .NET per le app di Windows Store e Windows Runtime). Windows Runtime strutture non possono eseguire l'override di ToString, anche se sono scritte con C# o Visual Basic, perché non possono avere metodi. Inoltre, le strutture nel Windows Runtime stesso non ereditano ValueType. Tuttavia, sembrano avere ToString, Equals e GetHashCode metodi quando vengono usati nel codice C# o Visual Basic e .NET fornisce il comportamento predefinito per questi metodi.