ValueType.ToString 메서드

정의

이 인스턴스의 정규화된 형식 이름을 반환합니다.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

반환

String

정규화된 형식 이름입니다.The fully qualified type name.

설명

메서드는 ValueType.ToString 메서드를 재정의 Object.ToString 하 고 ToString 값 형식에 대 한 메서드의 기본 구현을 제공 합니다.The ValueType.ToString method overrides the Object.ToString method and provides the default implementation of the ToString method for value types. 값 형식은 c #에서 키워드에 의해 정의 되는 형식이 structStructure End Structure Visual Basic의 ... 생성자에 의해 정의 됩니다. 그러나 기능적으로 구현은의 경우와 동일 합니다 Object.ToString . 메서드가 정규화 된 형식 이름을 반환 합니다.(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.

C #에서 키워드에 의해 정의 된 값 형식 structStructure End Structure Visual Basic의 ... 구문은 일반적으로 메서드를 재정의 ValueType.ToString 하 여 값 형식에 대 한 보다 의미 있는 문자열 표현을 제공 합니다.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. 다음 예제에서 차이점을 보여 줍니다.The following example illustrates the difference. 이 클래스는 두 개의 값 형식을 정의 하 EmployeeAEmployeeB ,는 각각의 인스턴스를 만들고 해당 메서드를 호출 ToString 합니다.It defines two value types, EmployeeA and EmployeeB, creates an instance of each, and calls its ToString method. 구조체는 EmployeeA 메서드를 재정의 하지 않으므로 ValueType.ToString 정규화 된 형식 이름만 표시 합니다.Because the EmployeeA structure does not override the ValueType.ToString method, it displays only the fully qualified type name. EmployeeB.ToString반면, 메서드는 개체에 대 한 의미 있는 정보를 제공 합니다.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

열거형 형식도 값 형식 이지만를 재정의 하는 클래스에서 파생 됩니다 Enum ValueType.ToString .Note that, although enumeration types are also value types, they derive from the Enum class, which overrides ValueType.ToString.

Windows 런타임에 대 한 참고 사항Notes for the Windows Runtime

구조체에서 메서드를 호출 하는 경우 ToString Windows 런타임Windows Runtime 재정의 되지 않는 값 형식에 대 한 기본 동작을 제공 합니다 ToString .When you call the ToString method on a Windows 런타임Windows Runtime structure, it provides the default behavior for value types that don't override ToString. 이는 .NET Framework에서 제공 하는 지원의 일부입니다 Windows 런타임Windows Runtime ( Windows 스토어 앱 및 Windows 런타임에 대 한 .NET Framework 지원참조).This is part of the support that the .NET Framework provides for the Windows 런타임Windows Runtime (see .NET Framework Support for Windows Store Apps and Windows Runtime). Windows 런타임Windows Runtime 구조체는 ToString 메서드를 가질 수 없기 때문에 c # 또는 Visual Basic으로 작성 된 경우에도 재정의할 수 없습니다.structures can't override ToString, even if they're written with C# or Visual Basic, because they can't have methods. 또한 자체의 구조가 Windows 런타임Windows Runtime 상속 되지 않습니다 ValueType . 그러나 ToString Equals GetHashCode c # 또는 Visual Basic 코드에서 사용 하는 경우, 및 메서드가 있는 것 처럼 보이지만 .NET Framework는 이러한 메서드에 대 한 기본 동작을 제공 합니다.(In addition, structures in the Windows 런타임Windows 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.

적용 대상