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

Werttypen, die durch das struct Schlüsselwort in C# und das ...End Structure -Konstrukt in Visual Basic in der StructureRegel überschreiben, ValueType.ToString um eine aussagekräftigere Zeichenfolgendarstellung des Werttyps bereitzustellen. Der Unterschied wird im folgenden Beispiel veranschaulicht. Es definiert zwei Werttypen und EmployeeA EmployeeBerstellt eine Instanz jeder, und ruft seine ToString Methode auf. Da die Struktur die EmployeeA ValueType.ToString Methode nicht überschreiben kann, wird nur der vollqualifizierte Typname angezeigt. Die EmployeeB.ToString Methode stellt dagegen aussagekräftige Informationen zum Objekt bereit.

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

Beachten Sie, dass, obwohl Enumerationstypen auch Werttypen sind, von der Enum Klasse abgeleitet werden, die überschrieben wird 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 außer Kraft setzenToString. Dies ist Teil der Unterstützung, die der .NET Framework für die Windows-Runtime bereitstellt (siehe .NET Framework Support für Windows Store Apps und Windows-Runtime). Windows-Runtime Strukturen können nicht außer Kraft setzenToString, auch wenn sie mit C# oder Visual Basic geschrieben werden, da sie keine Methoden haben können. (Darüber hinaus erben ValueTypeStrukturen in der Windows-Runtime selbst nicht .) Sie scheinen ToStringEqualsjedoch , und GetHashCode Methoden, wenn Sie sie in Ihrem C# oder Visual Basic Code verwenden, und die .NET Framework stellt das Standardverhalten für diese Methoden bereit.

Gilt für: