Konvertieren von Zeichenfolgen in .NET Framework-Datentypen

Aktualisiert: November 2007

Wenn Sie eine Zeichenfolge in einen .NET Framework-Datentyp konvertieren möchten, verwenden Sie die XmlConvert-Methode, die den Erfordernissen der Anwendung entspricht. Eine Liste sämtlicher in der XmlConvert-Klasse verfügbarer Konvertierungsmethoden finden Sie unter XmlConvert-Member.

Die von der ToString-Methode zurückgegebene Zeichenfolge ist eine Zeichenfolgenversion der übergebenen Daten. Darüber hinaus gibt es mehrere .NET Framework-Typen, die mithilfe der XmlConvert-Klasse konvertiert werden, aber die Methoden in der System.Convert-Klasse nicht verwenden. Die XmlConvert-Klasse entspricht der Spezifikation für XSD-Datentypen (XML-Schema) und besitzt einen Datentyp, dem XmlConvert zugeordnet werden kann.

Die folgende Tabelle enthält die .NET Framework-Datentypen und die Zeichenfolgentypen, die unter Verwendung der XSD-Datentypzuordnung (XML Schema) zurückgegeben werden. Diese .NET Framework-Typen können nicht mit System.Convert verarbeitet werden.

.NET Framework-Typ

Zurückgegebene Zeichenfolge

Boolean

"true", "false"

Single.PositiveInfinity

"INF"

Single.NegativeInfinity

"-INF"

Double.PositiveInfinity

"INF"

Double.NegativeInfinity

"-INF"

DateTime

Das Format ist "jjjj-mm-ddTHH:mm:sszzzzzz" und die entsprechenden Unterteilungen.

Timespan

Das Format lautet "PnYnMnTnHnMnS". Die bedeutet für P2Y10M15DT10H30M20S eine Dauer von 2 Jahren, 10 Monaten, 15 Tagen, 10 Stunden, 30 Minuten und 20 Sekunden.

Hinweis:

Wenn einer der in der Tabelle aufgeführten .NET Framework-Typen mit der ToString-Methode in eine Zeichenfolge umgewandelt wird, ist die zurückgegebene Zeichenfolge nicht der Basistyp, sondern der dem XML-Schema (XSD) entsprechende Zeichenfolgentyp.

Der DateTime-Werttyp und der Timespan-Werttyp unterscheiden sich voneinander in dem Punkt, dass DateTime einen Zeitpunkt darstellt, während TimeSpan einen Zeitraum wiedergibt. Das DateTime- und das Timespan-Format werden in der Spezifikation für XSD-Datentypen (XML-Schema) festgelegt. Beispiel:

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));

Ausgabe

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

Der folgende Code konvertiert eine ganze Zahl in eine Zeichenfolge:

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));

Ausgabe

<Number>200</Number>

Wenn Sie jedoch eine Zeichenfolge in einen der Typen Boolean, Single oder Double konvertieren, ist der zurückgegebene .NET Framework-Typ mit dem bei Verwendung der System.Convert-Klasse zurückgegebenen Typ nicht identisch.

Zeichenfolge in Boolean

Die folgende Tabelle zeigt, welcher Typ für die angegebenen Eingabezeichenfolgen generiert wird, wenn eine Zeichenfolge mithilfe der ToBoolean-Methode in Boolean konvertiert wird.

Gültiger Eingabeparameter für die Zeichenfolge

.NET Framework-Ausgabetyp

"true"

Boolean.True

"1"

Boolean.True

"false"

Boolean.False

"0"

Boolean.False

Betrachten Sie beispielsweise den folgenden XML-Code:

Eingabe

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

Beide werden vom folgenden Code verstanden, und bvalue ist System.Boolean.True:

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

String in Single

Die folgende Tabelle zeigt, welcher Typ für die angegebenen Eingabezeichenfolgen generiert wird, wenn eine Zeichenfolge mithilfe der ToSingle-Methode in Single konvertiert wird.

Gültiger Eingabeparameter für die Zeichenfolge

.NET Framework-Ausgabetyp

"INF"

Single.PositiveInfinity

"-INF"

Single.NegativeInfinity

String in Double

Die folgende Tabelle zeigt, welcher Typ für die angegebenen Eingabezeichenfolgen generiert wird, wenn eine Zeichenfolge mithilfe der ToDouble-Methode in Single konvertiert wird.

Gültiger Eingabeparameter für die Zeichenfolge

.NET Framework-Ausgabetyp

"INF"

Double.PositiveInfinity

"-INF"

Double.NegativeInfinity

Der folgende Code schreibt <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));

Siehe auch

Konzepte

Konvertierung von XML-Datentypen

Konvertieren von .NET Framework-Typen in Zeichenfolgen