Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo UInt32.Parse (String, NumberStyles)

 

Data di pubblicazione: ottobre 2016

System_CAPS_noteNota

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

clsCompliantAlternativeM:System.Int64.Parse(System.String)

Converte la rappresentazione di stringa di un numero in uno stile specificato nel suo equivalente intero senza segno a 32 bit.

Questa API non è conforme a CLS.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

[CLSCompliantAttribute(false)]
public static uint Parse(
	string s,
	NumberStyles style
)

Parametri

s
Type: System.String

Stringa che rappresenta il numero da convertire. La stringa viene interpretata usando lo stile specificato dal parametro style.

style
Type: System.Globalization.NumberStyles

Combinazione bit per bit dei valori di enumerazione che specifica il formato consentito di s. Un valore tipico da specificare è Integer.

Valore restituito

Type: System.UInt32

Intero senza segno a 32 bit equivalente al numero specificato in s.

Exception Condition
ArgumentNullException

s è null.

ArgumentException

style non è un valore di NumberStyles.

oppure

style non è una combinazione di valori di AllowHexSpecifier e HexNumber.

FormatException

Il formato di s non è conforme a style.

OverflowException

L'oggetto s rappresenta un numero minore di UInt32.MinValue o maggiore di UInt32.MaxValue.

oppure

s include cifre frazionarie diverse da zero.

Il style parametro definisce gli elementi di stile (ad esempio gli spazi vuoti, il simbolo di segno positivo o negativo, il simbolo di separatore di gruppo o il simbolo di separatore decimale) consentite nella s parametro per l'operazione di analisi abbia esito positivo. styledeve essere una combinazione di flag di bit del NumberStyles enumerazione. Il style parametro rende il metodo di overload utili quando s contiene la rappresentazione di stringa di un valore esadecimale, quando il sistema di numero (decimale o esadecimale) rappresentato da s è noto solo in fase di esecuzione, o quando si non consentire gli spazi vuoti o un simbolo di segno s.

A seconda del valore di style, s parametro può includere gli elementi seguenti:

[ws] [$] [sign] [cifre,]cifre[. frazionarie] [E [sign]cifre_esponenziali] [ws]

Gli elementi tra parentesi quadre ([e]) sono facoltativi. Se style include NumberStyles.AllowHexSpecifier, s parametro può contenere i seguenti elementi:

[ws]hexdigits[ws]

Nella tabella seguente viene descritto ogni elemento.

Elemento

Descrizione

ws

Spazio vuoto facoltativo. Gli spazi vuoti possono essere visualizzati all'inizio di s se style include il NumberStyles.AllowLeadingWhite flag e può apparire alla fine di s se style include il NumberStyles.AllowTrailingWhite flag.

$

Un simbolo di valuta delle impostazioni cultura specifiche. La posizione nella stringa è definita per il NumberFormatInfo.CurrencyNegativePattern e NumberFormatInfo.CurrencyPositivePattern delle impostazioni cultura correnti. Simbolo di valuta le impostazioni cultura correnti può apparire s se style include il NumberStyles.AllowCurrencySymbol flag.

segno

Un segno facoltativo. Il segno può essere visualizzati all'inizio di s se style include il NumberStyles.AllowLeadingSign flag e può apparire alla fine di s se style include il NumberStyles.AllowTrailingSign flag. Le parentesi possono essere utilizzate s per indicare un valore negativo se style include il NumberStyles.AllowParentheses flag. Tuttavia, il simbolo di segno negativo è utilizzabile solo con zero. in caso contrario, il metodo genera un OverflowException.

cifre

fractional_digits

exponential_digits

Una sequenza di cifre da 0 a 9. Per frazionarie, solo la cifra 0 è valida.

,

Un simbolo di separatore di gruppo di impostazioni cultura specifiche. Separatore di gruppi di impostazioni cultura correnti può apparire s se style include il NumberStyles.AllowThousands flag.

.

Simbolo di separatore decimale delle impostazioni cultura specifiche. Simbolo di separatore decimale della lingua corrente può essere visualizzati s se style include il NumberStyles.AllowDecimalPoint flag. Solo la cifra 0 può essere visualizzato come una cifra frazionaria per l'operazione di analisi abbia esito positivo; Se frazionarie include qualsiasi cifra, un FormatException viene generata un'eccezione.

E

Il "e" o il carattere "E", che indica che il valore è rappresentato nella notazione esponenziale (scientifica). Il s parametro può rappresentare un numero in notazione esponenziale se style include il NumberStyles.AllowExponent flag.

cifre esadecimali

Una sequenza di cifre esadecimali da 0 a f, o da 0 a F.

Una stringa che contiene solo cifre (che corrisponde alla NumberStyles.None stile) viene sempre analizzata correttamente. La maggior parte degli altri NumberStyles membri controllano gli elementi che possono essere presenti, ma non deve essere presente, nella stringa di input. Nella tabella seguente indica come singoli NumberStyles membri interessano gli elementi che possono essere presenti in s.

Valore di NumberStyles

Elementi consentiti in s oltre alle cifre

None

Il cifre solo l'elemento.

AllowDecimalPoint

Il separatore decimale (.) e cifre frazionarie elementi.

AllowExponent

Il "e" o il carattere "E", che indica la notazione esponenziale, insieme a cifre_esponenziali.

AllowLeadingWhite

Il ws elemento all'inizio di s.

AllowTrailingWhite

Il ws elemento alla fine di s.

AllowLeadingSign

Il sign elemento all'inizio di s.

AllowTrailingSign

Il sign elemento alla fine di s.

AllowParentheses

Il sign elemento sotto forma di parentesi che racchiudono il valore numerico.

AllowThousands

Elemento separatore (,) del gruppo.

AllowCurrencySymbol

Elemento valuta ($).

Currency

Tutti gli elementi. Tuttavia, s non può rappresentare un numero esadecimale o un numero in notazione esponenziale.

Float

Il ws elemento all'inizio o alla fine di s, sign all'inizio di se il separatore decimale (.) simbolo. Il s parametro inoltre possibile utilizzare la notazione esponenziale.

Number

Il ws, sign, separatore di gruppi (,), punto decimale e (.) elementi.

Any

Tutti gli elementi. Tuttavia, s può rappresentare un numero esadecimale.

A differenza di altri NumberStyles valori, che consentono di, ma non richiedono la presenza di particolari elementi di stile in s, NumberStyles.AllowHexSpecifier valore dello stile significa che i singoli caratteri numerici in s vengono sempre interpretate come caratteri esadecimali. I caratteri esadecimali validi sono 0-9, A-F e -f. Non è consentito un prefisso, ad esempio "0x". Gli unici altri flag che possono essere combinati con il style parametro sono NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite. (Il NumberStyles enumerazione include uno stile di numero composto, NumberStyles.HexNumber, che include entrambi i flag di spazi vuoti.)

Gli unici altri flag che possono essere combinati con il style parametro sono NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite. (Il NumberStyles enumerazione include uno stile di numero composto, NumberStyles.HexNumber, che include entrambi i flag di spazi vuoti.)

System_CAPS_noteNota

Se s è la rappresentazione di stringa di un numero esadecimale, non può essere preceduto da qualsiasi effetto (ad esempio 0x o &h) che lo distingue come numero esadecimale. In questo modo la conversione.

Il s parametro viene analizzato tramite le informazioni di formattazione in un NumberFormatInfo oggetto inizializzato per la lingua corrente. Per specificare le impostazioni cultura le cui informazioni di formattazione viene utilizzati per l'operazione di analisi, chiamare il Parse(String, NumberStyles, IFormatProvider) rapporto di overload.

Nell'esempio seguente tenta di analizzare ogni elemento in una matrice di stringhe, utilizzando un numero di NumberStyles valori.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values= { " 214309 ", "1,064,181", "(0)", "10241+", " + 21499 ", 
                         " +21499 ", "122153.00", "1e03ff", "91300.0e-2" };
      NumberStyles whitespace =  NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite;
      NumberStyles[] styles= { NumberStyles.None, whitespace, 
                               NumberStyles.AllowLeadingSign | NumberStyles.AllowTrailingSign | whitespace, 
                               NumberStyles.AllowThousands | NumberStyles.AllowCurrencySymbol, 
                               NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint };

      // Attempt to convert each number using each style combination.
      foreach (string value in values)
      {
         Console.WriteLine("Attempting to convert '{0}':", value);
         foreach (NumberStyles style in styles)
         {
            try {
               uint number = UInt32.Parse(value, style);
               Console.WriteLine("   {0}: {1}", style, number);
            }   
            catch (FormatException) {
               Console.WriteLine("   {0}: Bad Format", style);
            }   
            catch (OverflowException)
            {
               Console.WriteLine("   {0}: Overflow", value);         
            }         
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Attempting to convert ' 214309 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: 214309
//       Integer, AllowTrailingSign: 214309
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1,064,181':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: 1064181
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '(0)':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '10241+':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 10241
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' + 21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' +21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 21499
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '122153.00':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 122153
//    
//    Attempting to convert '1e03ff':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '91300.0e-2':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 913

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: