ValueType.ToString Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt den voll qualifizierten Typnamen dieser Instanz zurück.
public:
override System::String ^ ToString();
public override string ToString ();
public override string? ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Gibt zurück
Der vollqualifizierte Typname.
Hinweise
Die ValueType.ToString -Methode überschreibt die Object.ToString -Methode und stellt die Standardimplementierung der ToString
-Methode für Werttypen zur Anwendung. (Werttypen sind Typen, die durch das Schlüsselwort in C# und durch struct
das Structure
... End Structure
-Konstrukt in Visual Basic.) Funktionell ist die Implementierung jedoch identisch mit der von : Die Methode Object.ToString gibt den vollqualifizierten Typnamen zurück.
Werttypen, die durch das Schlüsselwort in C# und das ... -Konstrukt in Visual Basic überschreiben in der Regel die -Methode, um eine aussagekräftigere Zeichenfolgendarstellung des struct
Structure
End Structure
ValueType.ToString Werttyps zu bieten. Der Unterschied wird im folgenden Beispiel veranschaulicht. Es definiert zwei Werttypen, EmployeeA
und , erstellt jeweils eine Instanz von und ruft die EmployeeB
-Methode ToString
auf. Da die EmployeeA
-Struktur die -Methode nicht ValueType.ToString überschreibt, wird nur der vollqualifizierte Typname angezeigt. Die EmployeeB.ToString
-Methode stellt hingegen aussagekräftige Informationen über das -Objekt zur Verfügung.
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
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
Beachten Sie, dass Enumerationstypen zwar auch Werttypen sind, sie jedoch von der -Klasse Enum ableiten, die ValueType.ToString überschreibt.
Hinweise für die Windows Runtime
Wenn Sie die -Methode für eine Windows Runtime-Struktur aufrufen, wird das Standardverhalten für Werttypen ToString bereitgestellt, die nicht überschreiben. ToString Dies ist Teil der Unterstützung, die .NET Framework für die Windows Runtime bietet (siehe .NET Framework-Unterstützung für Windows Store-Appsund Windows Runtime). Windows Runtime-Strukturen können nicht überschreiben, auch wenn sie mit C# oder Visual Basic geschrieben wurden, da sie keine ToString Methoden haben können. (Darüber hinaus erben Strukturen in der Windows Runtime selbst nicht ValueType .) Sie scheinen jedoch über die Methoden , und zu verfügen, wenn Sie sie ToString Equals in Ihrem C#- oder Visual Basic-Code verwenden, und die .NET Framework stellt das Standardverhalten für diese GetHashCode Methoden zur Anwendung.