ValueType.ToString Methode

Definition

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

String

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.

Gilt für