ValueType.ToString 메서드

정의

이 인스턴스의 정규화된 형식 이름을 반환합니다.

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

반환

String

정규화된 형식 이름입니다.

설명

ValueType.ToString메서드는 Object.ToString 메서드를 재정의하고 ToString 값 형식에 대한 메서드의 기본 구현을 제공합니다. 값 형식은 struct C#의 키워드 및 Structure Visual Basic ... End Structure 구문으로 정의된 형식입니다. 그러나 기능적으로 구현은 의 구현과 동일합니다. Object.ToString 메서드는 정규화된 형식 이름을 반환합니다.

structC#의 키워드와 Visual Basic ... 구문으로 정의된 값 형식은 Structure 일반적으로 End Structure ValueType.ToString 메서드를 재정의하여 값 형식의 보다 의미 있는 문자열 표현을 제공합니다. 다음 예제에서 차이점을 보여 줍니다. 두 값 형식 및 를 정의하고 EmployeeA EmployeeB 각 의 인스턴스를 만들고 해당 ToString 메서드를 호출합니다. EmployeeA구조체는 메서드를 재정의하지 않으므로 ValueType.ToString 정규화된 형식 이름만 표시합니다. EmployeeB.ToString반면에 메서드는 개체에 대한 의미 있는 정보를 제공합니다.

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 파생됩니다.

Windows 런타임에 대한 참고 사항

ToStringWindows 런타임 구조에서 메서드를 호출하면 재정의하지 않는 값 형식에 대한 기본 동작이 ToString 제공됩니다. 이는 .NET Framework Windows 런타임에 대해 제공하는 지원의 일부입니다(Windows 스토어 앱 및 Windows 런타임에 대한 .NET Framework 지원참조). Windows 런타임 구조는 ToString C# 또는 Visual Basic 작성되더라도 메서드를 사용할 수 없으므로 를 재정의할 수 없습니다. 또한 Windows 런타임 자체의 구조체는 를 상속하지 않습니다. ValueType 그러나 C# 또는 Visual Basic 코드에서 사용할 때 , 및 메서드가 있는 것처럼 보이고 ToString Equals .NET Framework 이러한 GetHashCode 메서드에 대한 기본 동작을 제공합니다.

적용 대상