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 SByte.Parse (String, NumberStyles)

 

Data di pubblicazione: ottobre 2016

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

Converte la rappresentazione di stringa di un numero in uno stile specificato nell'equivalente intero con segno a 8 bit.

Questa API non è conforme a CLS.

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

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

Parametri

s
Type: System.String

Stringa che contiene un numero da convertire. La stringa viene interpreta usando lo stile specificato da style.

style
Type: System.Globalization.NumberStyles

Combinazione bit per bit dei valori di enumerazione che indica gli elementi di stile che possono essere presenti in s. Un valore tipico da specificare è NumberStyles.Integer.

Valore restituito

Type: System.SByte

Intero con segno a 8 bit equivalente al numero specificato in s.

Exception Condition
ArgumentNullException

s è null.

FormatException

Il formato di s non è conforme a style.

OverflowException

s rappresenta un numero minore di MinValue o maggiore di MaxValue.

-oppure-

s include cifre frazionarie diverse da zero.

ArgumentException

style non è un valore di NumberStyles.

-oppure-

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

Il style parametro definisce gli elementi di stile (ad esempio spazio vuoto o il simbolo di segno positivo o negativo) consentiti nel s parametro per l'operazione di analisi abbia esito positivo. Deve essere una combinazione di flag di bit dal NumberStyles enumerazione.

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

[ws][$][sign]digits[.frazionarie] [E [accesso]cifre_esponenziali] [ws]

Se style include NumberStyles.AllowHexSpecifier, s parametro può contenere i seguenti elementi:

[ws]hexdigits[ws]

Gli elementi tra parentesi quadre ([e]) sono facoltativi. 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 che può essere visualizzato 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.CurrencyPositivePattern proprietà delle impostazioni cultura correnti. Simbolo di valuta le impostazioni cultura correnti può essere visualizzati s Se style include il NumberStyles.AllowCurrencySymbol flag.

accesso

Un segno facoltativo. Il segno può ricorrere all'inizio di s Se style include il NumberStyles.AllowLeadingSign flag che può essere visualizzato 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.

cifre

Una sequenza di cifre da 0 a 9.

.

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.

frazionarie

Uno o più occorrenze della cifra 0-9 se style include il NumberStyles.AllowExponent flag o una o più occorrenze della cifra 0 in caso contrario. Cifre frazionarie possono essere visualizzati in s solo se style include il NumberStyles.AllowDecimalPoint flag.

E

La "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_esponenziali

Uno o più occorrenze della cifra 0-9. Il s parametro può rappresentare un numero in notazione esponenziale se style include il NumberStyles.AllowExponent flag.

cifre esadecimali

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

Una stringa con solo cifre decimali (che corrisponde al NumberStyles.None stile) viene sempre analizzata correttamente. La maggior parte dei rimanenti NumberStyles membri controllano gli elementi che possono essere presenti, ma non devono essere presenti, nella stringa di input. Nella tabella seguente viene indicato come singoli NumberStyles membri interessano gli elementi che possono essere presenti in s.

Valori NumberStyles non compositi

Elementi consentiti in s oltre alle cifre

NumberStyles.None

Cifre decimali.

NumberStyles.AllowDecimalPoint

Decimale (.) e frazionarie elementi. Tuttavia, se style non include il NumberStyles.AllowExponent flag frazionarie deve essere costituito solo da uno o più cifre 0; in caso contrario, un OverflowException viene generata un'eccezione.

NumberStyles.AllowExponent

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

NumberStyles.AllowLeadingWhite

Il ws elemento all'inizio del s.

NumberStyles.AllowTrailingWhite

Il ws elemento alla fine di s.

NumberStyles.AllowLeadingSign

Un segno positivo prima cifre.

NumberStyles.AllowTrailingSign

Un segno positivo dopo cifre.

NumberStyles.AllowParentheses

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

NumberStyles.AllowThousands

Elemento separatore (,) del gruppo. Sebbene il separatore di gruppi può essere visualizzati s, deve essere preceduto da solo uno o più cifre 0.

NumberStyles.AllowCurrencySymbol

La valuta ($) elemento.

Se il NumberStyles.AllowHexSpecifier flag viene utilizzato, s deve essere un valore esadecimale. Le cifre esadecimali valide sono 0-9, a-f e A-F. Un prefisso, ad esempio "0x" non è supportato e causa l'operazione di analisi esito negativo. Gli unici altri flag che possono essere combinati incluso in style sono NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite. (Il NumberStyles enumerazione comprende uno stile di numero composto, NumberStyles.HexNumber, che include entrambi i flag di spazi vuoti.)

System_CAPS_noteNota

Se il s parametro è la rappresentazione di stringa di un numero esadecimale, non può essere preceduto da alcun effetto (ad esempio 0x o &h) che lo distingue come numero esadecimale. In questo modo l'operazione di analisi generare un'eccezione.

Se s rappresenta un numero esadecimale di Parse(String, NumberStyles) metodo interpreta il bit significativo del byte come bit di segno.

Il s parametro viene analizzato utilizzando le informazioni di formattazione in un NumberFormatInfo oggetto inizializzato per la lingua corrente. Per utilizzare le informazioni di formattazione di altre impostazioni cultura, chiamare il Parse(String, NumberStyles, IFormatProvider) dell'overload.

Nell'esempio seguente consente di analizzare le rappresentazioni di stringa di SByte valori con il Parse(String, NumberStyles) metodo. Le impostazioni cultura correnti per l'esempio sono en-US.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      NumberStyles style;
      sbyte number;

      // Parse value with no styles allowed.
      string[] values1 = { " 121 ", "121", "-121" };
      style = NumberStyles.None;
      Console.WriteLine("Styles: {0}", style.ToString());
      foreach (string value in values1)
      {
         try {
            number = SByte.Parse(value, style);
            Console.WriteLine("   Converted '{0}' to {1}.", value, number);
         }   
         catch (FormatException) {
            Console.WriteLine("   Unable to parse '{0}'.", value);
         }
      }
      Console.WriteLine();

      // Parse value with trailing sign.
      style = NumberStyles.Integer | NumberStyles.AllowTrailingSign;
      string[] values2 = { " 103+", " 103 +", "+103", "(103)", "   +103  " };
      Console.WriteLine("Styles: {0}", style.ToString());
      foreach (string value in values2)
      {
         try {
            number = SByte.Parse(value, style);
            Console.WriteLine("   Converted '{0}' to {1}.", value, number);
         }   
         catch (FormatException) {
            Console.WriteLine("   Unable to parse '{0}'.", value);
         }      
         catch (OverflowException) {
            Console.WriteLine("   '{0}' is out of range of the SByte type.", value);         
         }
      }      
      Console.WriteLine();
   }
}
// The example displays the following output:
//       Styles: None
//          Unable to parse ' 121 '.
//          Converted '121' to 121.
//          Unable to parse '-121'.
//       
//       Styles: Integer, AllowTrailingSign
//          Converted ' 103+' to 103.
//          Converted ' 103 +' to 103.
//          Converted '+103' to 103.
//          Unable to parse '(103)'.
//          Converted '   +103  ' to 103.

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: