Auf Englisch lesen

Freigeben über


ValueType.ToString Methode

Definition

Gibt den voll qualifizierten Typnamen dieser Instanz zurück.

public override string ToString();
public override string? ToString();

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 bereit. (Werttypen sind Typen, die durch die struct Schlüsselwort (keyword) in C# und durch ...StructureEnd Structure -Konstrukt in Visual Basic.) Funktionell ist die Implementierung jedoch identisch mit der von Object.ToString: Die Methode gibt den vollqualifizierten Typnamen zurück.

Werttypen, die struct vom Schlüsselwort (keyword) in C# und dem Structure...End Structure-Konstrukt in Visual Basic definiert werden, überschreiben in der Regel die ValueType.ToString -Methode, um eine aussagekräftigere Zeichenfolgendarstellung des Werttyps bereitzustellen. Der Unterschied wird im folgenden Beispiel veranschaulicht. Sie definiert zwei Werttypen, EmployeeA und EmployeeBerstellt jeweils eine instance und ruft die zugehörige ToString -Methode auf. Da die EmployeeA -Struktur die ValueType.ToString -Methode nicht überschreibt, wird nur der vollqualifizierte Typname angezeigt. Die EmployeeB.ToString -Methode hingegen liefert aussagekräftige Informationen über das -Objekt.

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

Beachten Sie, dass Enumerationstypen zwar auch Werttypen sind, aber von der Enum -Klasse abgeleitet werden, die überschreibt ValueType.ToString.

Hinweise für die Windows-Runtime

Wenn Sie die ToString -Methode für eine Windows-Runtime-Struktur aufrufen, stellt sie das Standardverhalten für Werttypen bereit, die nicht überschreibenToString. Dies ist Teil der Unterstützung, die .NET für die Windows-Runtime bereitstellt (siehe .NET-Unterstützung für Windows Store-Apps und Windows-Runtime). Windows-Runtime Strukturen können nicht außer Kraft gesetzt ToStringwerden, auch wenn sie mit C# oder Visual Basic geschrieben wurden, da sie keine Methoden haben können. (Außerdem erben ValueTypeStrukturen im Windows-Runtime selbst nicht.) Sie scheinen jedoch methoden , Equalsund GetHashCode zu habenToString, wenn Sie sie in Ihrem C#- oder Visual Basic-Code verwenden, und .NET stellt das Standardverhalten für diese Methoden bereit.

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0