ValueType.ToString Metoda

Definicja

Zwraca w pełni kwalifikowaną nazwę typu tego wystąpienia.Returns the fully qualified type name of this instance.

public:
 override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String

Zwraca

W pełni kwalifikowana nazwa typu.The fully qualified type name.

Uwagi

Metoda ValueType.ToString zastępuje metodę Object.ToString i udostępnia domyślną implementację metody ToString dla typów wartości.The ValueType.ToString method overrides the Object.ToString method and provides the default implementation of the ToString method for value types. (Typy wartości są typami zdefiniowanymi przez słowo kluczowe struct C#w, i przez Structure... End Structure konstrukcja w Visual Basic). Jednakże implementacja jest taka sama jak w przypadku Object.ToString: Metoda zwraca w pełni kwalifikowaną nazwę typu.(Value types are types defined by the struct keyword in C#, and by the Structure...End Structure construct in Visual Basic.) Functionally, however, the implementation is that same as that of Object.ToString: the method returns the fully qualified type name.

Typy wartości zdefiniowane przez słowo kluczowe struct w C# i Structure... End Structure konstrukcji w Visual Basic zwykle przesłaniają metodę ValueType.ToString, aby zapewnić bardziej zrozumiałą reprezentację ciągu typu wartości.Value types defined by the struct keyword in C# and the Structure...End Structure construct in Visual Basic typically override the ValueType.ToString method to provide a more meaningful string representation of the value type. Poniższy przykład ilustruje różnicę.The following example illustrates the difference. Definiuje dwa typy wartości, EmployeeA i EmployeeB, tworzy wystąpienie każdego i wywołuje metodę ToString.It defines two value types, EmployeeA and EmployeeB, creates an instance of each, and calls its ToString method. Ze względu na to, że struktura EmployeeA nie przesłania metody ValueType.ToString, wyświetlana jest tylko w pełni kwalifikowana nazwa typu.Because the EmployeeA structure does not override the ValueType.ToString method, it displays only the fully qualified type name. Z drugiej strony Metoda EmployeeB.ToString zawiera istotne informacje dotyczące obiektu.The EmployeeB.ToString method, on the other hand, provides meaningful information about the object.

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

Należy pamiętać, że chociaż typy wyliczeniowe są również typami wartości, pochodzą z klasy Enum, która zastępuje ValueType.ToString.Note that, although enumeration types are also value types, they derive from the Enum class, which overrides ValueType.ToString.

Uwagi dotyczące środowisko wykonawcze systemu WindowsNotes for the Windows Runtime

Wywołanie metody ToString w strukturze Środowisko wykonawcze systemu WindowsWindows Runtime zapewnia domyślne zachowanie dla typów wartości, które nie przesłaniają ToString.When you call the ToString method on a Środowisko wykonawcze systemu WindowsWindows Runtime structure, it provides the default behavior for value types that don't override ToString. Jest to część .NET Framework wsparcia dla Środowisko wykonawcze systemu WindowsWindows Runtime (zobacz .NET Framework obsługa aplikacji do sklepu Windows i środowisko wykonawcze systemu Windows).This is part of the support that the .NET Framework provides for the Środowisko wykonawcze systemu WindowsWindows Runtime (see .NET Framework Support for Windows Store Apps and Windows Runtime). struktury Środowisko wykonawcze systemu WindowsWindows Runtime nie mogą przesłaniać ToString, nawet jeśli są zapisywana C# lub Visual Basic, ponieważ nie mogą mieć metod.Środowisko wykonawcze systemu WindowsWindows Runtime structures can't override ToString, even if they're written with C# or Visual Basic, because they can't have methods. (Ponadto struktury w Środowisko wykonawcze systemu WindowsWindows Runtime nie dziedziczą ValueType). Jednak wydaje się, że mają ToString, Equals i GetHashCode metod, gdy są używane w kodzie C# lub Visual Basic, a .NET Framework zapewnia domyślne zachowanie tych metod.(In addition, structures in the Środowisko wykonawcze systemu WindowsWindows Runtime itself don't inherit ValueType.) However, they appear to have ToString, Equals, and GetHashCode methods when you use them in your C# or Visual Basic code, and the .NET Framework provides the default behavior for these methods.

Dotyczy