ValueType.ToString Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan nama jenis instans ini yang sepenuhnya memenuhi syarat.
public:
override System::String ^ ToString();
public override string ToString ();
public override string? ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Mengembalikan
Nama jenis yang sepenuhnya memenuhi syarat.
Keterangan
Metode ini ValueType.ToString mengambil alih Object.ToString metode dan menyediakan implementasi ToString
default metode untuk jenis nilai. (Jenis nilai adalah jenis yang ditentukan oleh struct
kata kunci di C#, dan oleh Structure
konstruksi ...End Structure
di Visual Basic.) Namun, secara fungsional, implementasinya sama Object.ToStringdengan : metode mengembalikan nama jenis yang sepenuhnya memenuhi syarat.
Jenis nilai yang ditentukan oleh struct
kata kunci dalam C# dan Structure
konstruksi ...End Structure
di Visual Basic biasanya mengambil alih ValueType.ToString metode untuk memberikan representasi string yang lebih bermakna dari jenis nilai. Contoh berikut mengilustrasikan perbedaannya. Ini mendefinisikan dua jenis nilai, EmployeeA
dan EmployeeB
, membuat instans masing-masing, dan memanggil metodenya ToString
.
EmployeeA
Karena struktur tidak mengambil alih ValueType.ToString metode, struktur hanya menampilkan nama jenis yang sepenuhnya memenuhi syarat. Metode ini EmployeeB.ToString
, di sisi lain, memberikan informasi yang bermakna tentang objek .
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
namespace Corporate.EmployeeObjects
[<Struct>]
type EmployeeA =
val mutable Name : string
[<Struct>]
type EmployeeB =
val mutable Name : string
override this.ToString() =
this.Name
module Example =
let empA = EmployeeA(Name="Robert")
printfn $"{empA}"
let empB = EmployeeB(Name="Robert")
printfn $"{empB}"
// 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
Perhatikan bahwa, meskipun jenis enumerasi juga merupakan jenis nilai, jenis tersebut Enum berasal dari kelas , yang mengambil alih ValueType.ToString.
Catatan untuk Windows Runtime
Ketika Anda memanggil ToString metode pada struktur Windows Runtime, metode ini menyediakan perilaku default untuk jenis nilai yang tidak mengambil alih ToString. Ini adalah bagian dari dukungan yang disediakan .NET untuk Windows Runtime (lihat Dukungan .NET untuk Aplikasi Windows Store dan Windows Runtime). Struktur Windows Runtime tidak dapat mengambil alih ToString, meskipun ditulis dengan C# atau Visual Basic, karena tidak dapat memiliki metode. (Selain itu, struktur dalam Windows Runtime itu sendiri tidak mewarisi ValueType.) Namun, mereka tampaknya memiliki ToStringmetode , Equals, dan GetHashCode ketika Anda menggunakannya dalam kode C# atau Visual Basic Anda, dan .NET menyediakan perilaku default untuk metode ini.