Conversione delle stringhe in tipi di dati di .NET FrameworkConverting Strings to .NET Framework Data Types

Per convertire una stringa in un tipo di dati di .NET Framework, usare il metodo XmlConvert che soddisfa i requisiti dell'applicazione.If you want to convert a string to a .NET Framework data type, use the XmlConvert method that fits the application requirements. Per un elenco di tutti i metodi di conversione disponibili nella classe XmlConvert, vedere XmlConvert.For a list of all conversion methods available in the XmlConvert class, see XmlConvert.

La stringa restituita dal metodo ToString è una versione in formato stringa dei dati passati.The string returned from the ToString method is a string version of the data that is passed in. Esistono inoltre diversi tipi .NET Framework che consentono di eseguire la conversione usando la classe XmlConvert, ma che non consentono l'uso dei metodi della classe System.Convert.Additionally, there are several .NET Framework types that convert using the XmlConvert class yet they do not use the methods in the System.Convert class. La classe XmlConvert è conforme alla specifica dei tipi di dati XML Schema (XSD) e ha un tipo di dati a cui è possibile eseguire il mapping di XmlConvert.The XmlConvert class follows the XML Schema (XSD) data type specification and has a data type that the XmlConvert can map to.

Nella tabella seguente sono elencati i tipi di dati di .NET Framework e i tipi di stringa che vengono restituiti dal mapping dei tipi di dati XML Schema (XSD).The following table lists .NET Framework data types and the string types that are returned using XML Schema (XSD) data type mapping. I tipi di .NET Framework non possono essere elaborati con System.Convert.These .NET Framework types cannot be processed using System.Convert.

Tipo .NET Framework.NET Framework type Stringa restituitaString returned
BooleanoBoolean "true", "false""true", "false"
Single.PositiveInfinitySingle.PositiveInfinity "INF""INF"
Single.NegativeInfinitySingle.NegativeInfinity "-INF""-INF"
Double.PositiveInfinityDouble.PositiveInfinity "INF""INF"
Double.NegativeInfinityDouble.NegativeInfinity "-INF""-INF"
DateTimeDateTime Il formato è "yyyy-MM-ddTHH:mm:sszzzzzz" e i relativi subset.Format is "yyyy-MM-ddTHH:mm:sszzzzzz" and its subsets.
TimeSpanTimespan Il formato è PnYnMnTnHnMnS, ovvero P2Y10M15DT10H30M20S corrisponde a una durata di 2 anni, 10 mesi, 15 giorni, 10 ore, 30 minuti e 20 secondi.Format is PnYnMnTnHnMnS that is, P2Y10M15DT10H30M20S is a duration of 2 years, 10 months, 15 days, 10 hours, 30 minutes, and 20 seconds.

Nota

Se viene eseguita la conversione in una stringa di uno dei tipi di .NET Framework elencati nella tabella usando il metodo ToString, la stringa restituita non corrisponderà al tipo di base, ma al tipo di stringa XML Schema (XSD).If converting any of the .NET Framework types listed in the table to a string using the ToString method, the returned string is not the base type, but the XML Schema (XSD) string type.

I tipi di valore DateTime e TimeSpan sono diversi perché DateTime rappresenta un istante nel tempo, mentre TimeSpan rappresenta un intervallo di tempo.The DateTime and Timespan value type differs in that a DateTime represents an instant in time, whereas a TimeSpan represents a time interval. I formati DateTime e TimeSpan sono definiti nella specifica dei tipi di dati di XML Schema (XSD).The DateTime and Timespan formats are specified in the XML Schema (XSD) data types specification. Ad esempio:For example:

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

OutputOutput

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

Il codice seguente converte un numero intero in una stringa:The following code converts an integer to a 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));  

OutputOutput

<Number>200</Number>

Se tuttavia si converte una stringa in Boolean, Single o Double, il tipo di .NET Framework restituito non corrisponde al tipo restituito quando si usa la classe System.Convert.However, if you are converting a string to Boolean, Single, or Double, the .NET Framework type that is returned is not the same as the type returned when using the System.Convert class.

Stringa in BooleanString to Boolean

Nella tabella seguente viene illustrato quale tipo viene generato per le stringhe di input fornite, quando si converte una stringa in Boolean usando il metodo ToBoolean.The following table shows what type is generated for the given input strings, when converting a string to Boolean using the ToBoolean method.

Parametro di input della stringa validoValid string input parameter Tipo di output di .NET Framework.NET Framework output type
"true""true" Boolean.TrueBoolean.True
"1""1" Boolean.TrueBoolean.True
"false""false" Boolean.FalseBoolean.False
"0""0" Boolean.FalseBoolean.False

Si consideri, ad esempio, il codice XML seguente:For example, given the following XML:

InputInput

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

Entrambi possono essere interpretati correttamente dal codice seguente e bvalue corrisponde a System.Boolean.True:Both can be understood by the following code, and bvalue is System.Boolean.True:

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

Stringa in SingleString to Single

Nella tabella seguente viene illustrato quale tipo viene generato per le stringhe di input fornite, quando si converte una stringa in Single usando il metodo ToSingle.The following table shows what type is generated for the given input strings, when converting a string to a Single using the ToSingle method.

Parametro di input della stringa validoValid string input parameter Tipo di output di .NET Framework.NET Framework output type
"INF""INF" Single.PositiveInfinitySingle.PositiveInfinity
"-INF""-INF" Single.NegativeInfinitySingle.NegativeInfinity

Stringa in DoubleString to Double

Nella tabella seguente viene illustrato quale tipo viene generato per le stringhe di input fornite, quando si converte una stringa in Single usando il metodo ToDouble.The following table shows what type is generated for the given input strings, when converting a string to a Single using the ToDouble method.

Parametro di input della stringa validoValid string input parameter Tipo di output di .NET Framework.NET Framework output type
"INF""INF" Double.PositiveInfinityDouble.PositiveInfinity
"-INF""-INF" Double.NegativeInfinityDouble.NegativeInfinity

Il codice seguente scrive <Infinity>INF</Infinity>:The following code writes <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));  

Vedere ancheSee Also

Conversione dei tipi di dati XMLConversion of XML Data Types
Conversione dei tipi di .NET Framework in stringheConverting .NET Framework Types to Strings