Bahasa

Mengonversi string menjadi jenis data .NET

Jika Anda ingin mengonversi string ke jenis data .NET, gunakan metode XmlConvert yang sesuai dengan persyaratan aplikasi. Untuk daftar semua metode konversi yang tersedia di kelas XmlConvert, lihat XmlConvert.

String yang dikembalikan dari metode ToString adalah versi string dari data yang diteruskan. Selain itu, ada beberapa jenis .NET yang mengonversi menggunakan kelas XmlConvert namun mereka tidak menggunakan metode di kelas System.Convert. Kelas XmlConvert mengikuti spesifikasi jenis data Skema XML (XSD) dan memiliki jenis data yang dapat dipetakan XmlConvert.

Tabel berikut mencantumkan jenis data .NET dan jenis string yang dikembalikan menggunakan pemetaan jenis data Xml Schema (XSD). Jenis .NET ini tidak dapat diproses menggunakan System.Convert.

Jenis .NET String dikembalikan
Boolean "true", "false"
Single.PositiveInfinity "INF"
Single.NegativeInfinity "-INF"
Double.PositiveInfinity "INF"
Double.NegativeInfinity "-INF"
DateTime Formatnya adalah "yyyy-MM-ddTHH:mm:sszzzzzz" dan subsetnya.
Rentang waktu Formatnya adalah PnYnMnTnHnMnS yaitu, P2Y10M15DT10H30M20S adalah durasi 2 tahun, 10 bulan, 15 hari, 10 jam, 30 menit, dan 20 detik.

Catatan

Jika mengonversi salah satu jenis .NET yang tercantum dalam tabel menjadi string menggunakan metode ToString, string yang dikembalikan bukan jenis dasar, tetapi jenis string Skema XML (XSD).

Jenis nilai DateTime dan Timespan berbeda yang mana DateTime mewakili instan dalam waktu, sedangkan TimeSpan mewakili interval waktu. Format DateTime dan Timespan ditentukan dalam spesifikasi jenis data Skema XML (XSD). Contohnya:

Dim writer As New XmlTextWriter("myfile.xml", Nothing)  
Dim [date] As New DateTime(2001, 8, 4)  
writer.WriteElementString("Date", XmlConvert.ToString([date]))  
XmlTextWriter writer = new XmlTextWriter("myfile.xml", null);  
DateTime date = new DateTime (2001, 08, 04);  
writer.WriteElementString("Date", XmlConvert.ToString(date));  

Hasil

<Date>2001-08-04T00:00:00</Date>.

Kode berikut mengonversi bilangan bulat menjadi string:

Dim writer As New XmlTextWriter("myfile.xml", Nothing)  
Dim value As Int32 = 200  
writer.WriteElementString("Number", XmlConvert.ToString(value))  
XmlTextWriter writer = new XmlTextWriter("myfile.xml", null);  
Int32 value = 200;  
writer.WriteElementString("Number", XmlConvert.ToString(value));  

Hasil

<Number>200</Number>

Namun, jika Anda mengonversi string ke Boolean, Tunggal, atau Ganda, jenis .NET yang dikembalikan tidak sama dengan jenis yang dikembalikan saat menggunakan kelas System.Convert.

String ke Boolean

Tabel berikut menunjukkan jenis apa yang dihasilkan untuk string input yang diberikan, saat mengonversi string ke Boolean menggunakan metode ToBoolean.

Parameter input string yang valid Jenis output .NET
"true" Boolean.True
"1" Boolean.True
"false" Boolean.False
"0" Boolean.False

Misalnya diberikan tabel berikut ini:

Input

<Boolean>true</Boolean>  
<Boolean>1</Boolean>

Keduanya dapat dipahami oleh kode berikut, dan bvalue adalah System.Boolean.True:

Dim bvalue As Boolean = _  
   XmlConvert.ToBoolean(reader.ReadElementString())  
Console.WriteLine(bvalue)  
Boolean bvalue = XmlConvert.ToBoolean(reader.ReadElementString());  
Console.WriteLine(bvalue);  

String ke Single

Tabel berikut menunjukkan jenis apa yang dihasilkan untuk string input yang diberikan, saat mengonversi string ke Boolean menggunakan metode ToBoolean.

Parameter input string yang valid Jenis output .NET
"INF" Single.PositiveInfinity
"-INF" Single.NegativeInfinity

String ke Double

Tabel berikut menunjukkan jenis apa yang dihasilkan untuk string input yang diberikan, saat mengonversi string ke Boolean menggunakan metode ToBoolean.

Parameter input string yang valid Jenis output .NET
"INF" Double.PositiveInfinity
"-INF" Double.NegativeInfinity

Kode berikut menunjukkan <Infinity>INF</Infinity>:

Dim value As Double = Double.PositiveInfinity  
writer.WriteElementString("Infinity", XmlConvert.ToString(value))  
Double value = Double.PositiveInfinity;  
writer.WriteElementString("Infinity", XmlConvert.ToString(value));  

Lihat juga