ValueType.ToString 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回此執行個體的完整類型名稱。
public:
override System::String ^ ToString();
public override string ToString ();
public override string? ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
傳回
完整類型名稱。
備註
ValueType.ToString方法會覆寫 Object.ToString 方法,並為實值型別提供方法的預設實 ToString
值。 (實值型別是 c # 中的關鍵字所定義的型別 struct
,以及 Structure
End Structure
Visual Basic 中的 ... 結構。 ) 功能上,其實作與的相同 Object.ToString :方法會傳回完整的型別名稱。
c # 中的關鍵字所定義的實數值型別 struct
和 Structure
End Structure
Visual Basic 中的 ... 結構通常會覆寫 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 執行階段的注意事項
當您 ToString 在 Windows 執行階段結構上呼叫方法時,它會為不會覆寫的實數值型別提供預設行為 ToString 。 這是 .NET Framework 為 Windows 執行階段提供的支援的一部分 (請參閱Windows Store 應用程式 .NET Framework 支援和 Windows 執行階段) 。 Windows 執行階段結構無法覆寫 ToString ,即使它們是使用 c # 或 Visual Basic 撰寫的,因為它們不能有方法。 (此外,Windows 執行階段本身的結構並不會繼承 ValueType 。 ) 不過, ToString Equals GetHashCode 當您在 c # 或 Visual Basic 程式碼中使用它們時,它們看起來會有、和方法,而 .NET Framework 則提供這些方法的預設行為。