ValueType.ToString Método

Definición

Devuelve el nombre de tipo completo de esta instancia.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

Devoluciones

Nombre completo del tipo.The fully qualified type name.

Comentarios

El método ValueType.ToString invalida el método Object.ToString y proporciona la implementación predeterminada del método ToString para los tipos de valor.The ValueType.ToString method overrides the Object.ToString method and provides the default implementation of the ToString method for value types. (Los tipos de valor son tipos definidos por la palabra clave @no__t C#-0 en y la construcción Structure... End Structure en Visual Basic). Sin embargo, funcionalmente, la implementación es la misma que la de Object.ToString: el método devuelve el nombre de tipo completo.(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.

Los tipos de valor definidos por la palabra clave @no__t C# -0 en y la construcción Structure... End Structure en Visual Basic normalmente invalidan el método ValueType.ToString para proporcionar una representación de cadena más significativa del tipo de valor.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. En el siguiente ejemplo se ilustra la diferencia.The following example illustrates the difference. Define dos tipos de valor, EmployeeA y EmployeeB, crea una instancia de cada uno y llama al método ToString.It defines two value types, EmployeeA and EmployeeB, creates an instance of each, and calls its ToString method. Dado que la estructura EmployeeA no invalida el método ValueType.ToString, muestra solo el nombre de tipo completo.Because the EmployeeA structure does not override the ValueType.ToString method, it displays only the fully qualified type name. El método EmployeeB.ToString, por otro lado, proporciona información significativa sobre el objeto.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

Tenga en cuenta que, aunque los tipos de enumeración también son tipos de valor, derivan de la clase Enum, que invalida ValueType.ToString.Note that, although enumeration types are also value types, they derive from the Enum class, which overrides ValueType.ToString.

Notas del Windows RuntimeNotes for the Windows Runtime

Cuando se llama al método ToString en una estructura Windows en tiempo de ejecuciónWindows Runtime, proporciona el comportamiento predeterminado para los tipos de valor que no invalidan ToString.When you call the ToString method on a Windows en tiempo de ejecuciónWindows Runtime structure, it provides the default behavior for value types that don't override ToString. Esto forma parte de la compatibilidad que proporciona el .NET Framework para el Windows en tiempo de ejecuciónWindows Runtime (vea compatibilidad con .NET Framework para aplicaciones de la tienda Windows y Windows Runtime).This is part of the support that the .NET Framework provides for the Windows en tiempo de ejecuciónWindows Runtime (see .NET Framework Support for Windows Store Apps and Windows Runtime). las estructuras Windows en tiempo de ejecuciónWindows Runtime no pueden invalidar ToString, aunque estén escritas con C# o Visual Basic, porque no pueden tener métodos.Windows en tiempo de ejecuciónWindows Runtime structures can't override ToString, even if they're written with C# or Visual Basic, because they can't have methods. (Además, las estructuras del propio Windows en tiempo de ejecuciónWindows Runtime no heredan ValueType.) Sin embargo, parece que tienen métodos ToString, Equals y GetHashCode cuando se usan en el C# código de o Visual Basic y el .NET Framework proporciona el comportamiento predeterminado para estos métodos.(In addition, structures in the Windows en tiempo de ejecuciónWindows 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.

Se aplica a