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, IFormatProvider)

 

Data di pubblicazione: ottobre 2016

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

Converte la rappresentazione di stringa di un numero in un formato specifico delle impostazioni cultura 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,
	IFormatProvider provider
)

Parametri

s
Type: System.String

Stringa che rappresenta un numero da convertire. Per interpretare la stringa, viene usato lo stile NumberStyles.Integer.

provider
Type: System.IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura relativamente a s. Se provider è null, verranno usate le impostazioni cultura correnti del thread.

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 è corretto.

OverflowException

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

Il s parametro contiene un numero nel formato:

[ws][sign]digits[ws]

Gli elementi tra parentesi quadre ([e]) sono facoltativi. Nella tabella seguente viene descritto ogni elemento.

Elemento

Descrizione

ws

Spazio vuoto facoltativo.

accesso

Un segno facoltativo.

cifre

Una sequenza di cifre comprese tra 0 e 9.

Il s parametro viene interpretato utilizzando le Integer stile. Oltre alle cifre decimali del valore byte, sono consentiti solo spazi iniziali e finali con un segno iniziale. Definire in modo esplicito gli elementi di stile con le informazioni di formattazione specifiche delle impostazioni cultura che possono essere presenti in s, utilizzare il Parse(String, NumberStyles, IFormatProvider) metodo.

Il provider parametro è un IFormatProvider implementazione cui GetFormat metodo restituisce un NumberFormatInfo oggetto che fornisce informazioni specifiche delle impostazioni cultura relative al formato di s. Esistono tre modi per utilizzare il provider per fornire informazioni di formattazione personalizzate per l'operazione di analisi:

  • È possibile passare l'oggetto effettivo NumberFormatInfo oggetto che fornisce informazioni di formattazione. (L'implementazione di GetFormat semplicemente restituisce se stesso.)

  • È possibile passare un CultureInfo oggetto che specifica le impostazioni cultura di cui la formattazione da utilizzare. La NumberFormat proprietà fornisce informazioni di formattazione.

  • È possibile passare un oggetto personalizzato IFormatProvider implementazione. Il GetFormat metodo deve creare un'istanza e restituire il NumberFormatInfo oggetto che fornisce informazioni di formattazione.

Se provider è null, NumberFormatInfo per le impostazioni cultura correnti dell'oggetto.

Nell'esempio seguente definisce una classe personalizzata NumberFormatInfo oggetto che definisce la tilde (~) come segno negativo. Viene quindi analizzata una serie di stringhe numeriche utilizzando questo personalizzata NumberFormatInfo oggetto, nonché un CultureInfo oggetto che rappresenta le impostazioni cultura invarianti.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      NumberFormatInfo nf = new NumberFormatInfo();
      nf.NegativeSign = "~"; 

      string[] values = { "-103", "+12", "~16", "  1", "~255" };
      IFormatProvider[] providers = { nf, CultureInfo.InvariantCulture };

      foreach (IFormatProvider provider in providers)
      {
         Console.WriteLine("Conversions using {0}:", ((object) provider).GetType().Name);
         foreach (string value in values)
         {
            try {
               Console.WriteLine("   Converted '{0}' to {1}.", 
                                 value, SByte.Parse(value, provider));
            }                     
            catch (FormatException) {
               Console.WriteLine("   Unable to parse '{0}'.", value);   
            }
            catch (OverflowException) {
               Console.WriteLine("   '{0}' is out of range of the SByte type.", value);         
            }
         }
      }      
   }
}
// The example displays the following output:
//       Conversions using NumberFormatInfo:
//          Unable to parse '-103'.
//          Converted '+12' to 12.
//          Converted '~16' to -16.
//          Converted '  1' to 1.
//          '~255' is out of range of the SByte type.
//       Conversions using CultureInfo:
//          Converted '-103' to -103.
//          Converted '+12' to 12.
//          Unable to parse '~16'.
//          Converted '  1' to 1.
//          Unable to parse '~255'.

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: