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 UInt16.Parse (String, IFormatProvider)

 

Data di pubblicazione: ottobre 2016

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

Converte la rappresentazione di stringa di un numero in un formato specifico delle impostazioni cultura nel suo equivalente intero senza segno a 16 bit.

Questa API non è conforme a CLS.

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

[CLSCompliantAttribute(false)]
public static ushort Parse(
	string s,
	IFormatProvider provider
)

Parametri

s
Type: System.String

Stringa che rappresenta il numero da convertire.

provider
Type: System.IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura relativamente a s.

Valore restituito

Type: System.UInt16

Intero senza segno a 16 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 UInt16.MinValue o maggiore di UInt16.MaxValue.

Il s parametro contiene un numero nel formato:

[ws][sign]digits[ws]

Elementi in parentesi quadre ([e]) sono facoltativi. Nella tabella seguente viene descritto ogni elemento.

Elemento

Descrizione

ws

Spazio vuoto facoltativo.

accesso

Un segno facoltativo o un segno negativo se s rappresenta il valore zero.

cifre

Una sequenza di cifre comprese tra 0 e 9.

Il parametro s viene interpretato utilizzando le NumberStyles.Integer stile. Oltre alle cifre decimali del valore byte, è consentito solo spazi iniziali e finali con un segno iniziale. (Se presente, il segno negativo s deve rappresentare un valore pari a zero o il metodo genera un OverflowException.) 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.

Nell'esempio seguente viene creata un'istanza di una lingua personalizzata che utilizza due segni (+ +) come segno positivo più. Chiama quindi il Parse(String, IFormatProvider) metodo da utilizzare per analizzare una matrice di stringhe CultureInfo gli oggetti che rappresentano impostazioni cultura personalizzate sia le impostazioni cultura invarianti.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // Define a custom culture that uses "++" as a positive sign. 
      CultureInfo ci = new CultureInfo("");
      ci.NumberFormat.PositiveSign = "++";
      // Create an array of cultures.
      CultureInfo[] cultures = { ci, CultureInfo.InvariantCulture };
      // Create an array of strings to parse.
      string[] values = { "++1403", "-0", "+0", "+16034", 
                          Int16.MinValue.ToString(), "14.0", "18012" };
      // Parse the strings using each culture.
      foreach (CultureInfo culture in cultures)
      {
         Console.WriteLine("Parsing with the '{0}' culture.", culture.Name);
         foreach (string value in values)
         {
            try {
               ushort number = UInt16.Parse(value, culture);
               Console.WriteLine("   Converted '{0}' to {1}.", value, number);
            }
            catch (FormatException) {
               Console.WriteLine("   The format of '{0}' is invalid.", value);
            }
            catch (OverflowException) {
               Console.WriteLine("   '{0}' is outside the range of a UInt16 value.", value);
            }               
         }
      }
   }
}
// The example displays the following output:
//       Parsing with the  culture.
//          Converted '++1403' to 1403.
//          Converted '-0' to 0.
//          The format of '+0' is invalid.
//          The format of '+16034' is invalid.
//          '-32768' is outside the range of a UInt16 value.
//          The format of '14.0' is invalid.
//          Converted '18012' to 18012.
//       Parsing with the '' culture.
//          The format of '++1403' is invalid.
//          Converted '-0' to 0.
//          Converted '+0' to 0.
//          Converted '+16034' to 16034.
//          '-32768' is outside the range of a UInt16 value.
//          The format of '14.0' is invalid.
//          Converted '18012' to 18012.

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: