ValueType.ToString ValueType.ToString ValueType.ToString ValueType.ToString Method

定義

このインスタンスの完全修飾型名を返します。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

戻り値

完全修飾型名。The fully qualified type name.

注釈

メソッドはメソッドをObject.ToStringオーバーライドし、値型に対してToStringメソッドの既定の実装を提供します。 ValueType.ToStringThe ValueType.ToString method overrides the Object.ToString method and provides the default implementation of the ToString method for value types. (値型は、のstructキーワードC#で定義されている型Structure、および...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キーワードで定義されている値型Visual Basic のコンストラクトは通常、 ValueType.ToStringメソッドをオーバーライドして、値型の意味のある文字列表現を提供します。 End StructureValue 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. 2つの値型をEmployeeA定義EmployeeBし、それぞれのインスタンスを作成して、 ToStringそのメソッドを呼び出します。It defines two value types, EmployeeA and EmployeeB, creates an instance of each, and calls its ToString method. 構造体はValueType.ToStringメソッドをオーバーライドしないため、完全修飾型名のみが表示されます。 EmployeeABecause 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 ToString Windows ランタイムWindows Runtimeに対してメソッドを呼び出すと、オーバーライドされない値型の既定の動作が提供されます。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. これは、 Windows ランタイムWindows Runtime .NET Framework がに提供するサポートの一部です (「 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 C#またEqualsは Visual Basic GetHashCodeコードで使用する場合は、、、およびの各メソッドがあるように見えます。 .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.

適用対象