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 Int32.TryParse (String, Int32)

 

Data di pubblicazione: ottobre 2016

Converte la rappresentazione in forma di stringa di un numero nel suo equivalente valore intero con segno a 32 bit. Un valore restituito indica se la conversione è riuscita.

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

public static bool TryParse(
	string s,
	out int result
)

Parametri

s
Type: System.String

Una stringa contenente un numero da convertire.

result
Type: System.Int32

Quando questo metodo viene restituito, contiene l'intero con segno a 32 bit equivalente al numero contenuto in s, se la conversione riesce oppure zero se la conversione non riesce. La conversione non riesce se il parametro s è null o String.Empty, non è in formato corretto o rappresenta un numero minore di MinValue o maggiore di MaxValue. Questo parametro viene passato non inizializzato. Qualsiasi valore fornito in origine in result verrà sovrascritto.

Valore restituito

Type: System.Boolean

true se s è stato convertito correttamente; in caso contrario, false.

Il TryParse metodo è simile il Parse metodo, ad eccezione di TryParse metodo genera un'eccezione se la conversione non riesce. Elimina la necessità di utilizzare la gestione delle eccezioni per verificare la presenza di un FormatException nel caso in cui s non è valido e non può essere analizzato correttamente.

Il s parametro contiene un numero nel formato:

[ws] cifre [accesso] [ws]

All'interno delle parentesi quadre ([e]) sono facoltativi. Nella tabella seguente viene descritto ogni elemento.

Elemento

Descrizione

sv

Spazio vuoto facoltativo.

segno

Un segno facoltativo.

cifre

Una sequenza di cifre comprese tra 0 e 9.

Il s parametro viene interpretato utilizzando il NumberStyles.Integer stile. Oltre a cifre decimali, sono consentiti solo spazi iniziali e finali con un segno iniziale. Per 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 Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) metodo.

Il s parametro viene analizzato utilizzando le informazioni di formattazione in un NumberFormatInfo oggetto inizializzato per la lingua corrente. Per altre informazioni, vedere CurrentInfo.

Questo overload del metodo di TryParse metodo interpreta tutte le cifre di s parametro come cifre decimali. Per analizzare la rappresentazione di stringa di un numero esadecimale, chiamare il Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) rapporto di overload.

L'esempio seguente chiama il Int32.TryParse(String, Int32) metodo con un numero di valori stringa diversi.

using System;

public class Example
{
   public static void Main()
   {
      String[] values = { null, "160519", "9432.0", "16,667",
                          "   -322   ", "+4302", "(100);", "01FA" };
      foreach (var value in values) {
         int number;

         bool result = Int32.TryParse(value, out number);
         if (result)
         {
            Console.WriteLine("Converted '{0}' to {1}.", value, number);         
         }
         else
         {
//            if (value == null) value = ""; 
            Console.WriteLine("Attempted conversion of '{0}' failed.", 
                               value == null ? "<null>" : value);
         }
      }
   }
}
// The example displays the following output:
//       Attempted conversion of '<null>' failed.
//       Converted '160519' to 160519.
//       Attempted conversion of '9432.0' failed.
//       Attempted conversion of '16,667' failed.
//       Converted '   -322   ' to -322.
//       Converted '+4302' to 4302.
//       Attempted conversion of '(100);' failed.
//       Attempted conversion of '01FA' failed.

Alcune delle stringhe che il TryParse(String, Int32) (metodo) non è in grado di convertire in questo esempio sono:

  • "9432.0". La conversione non riesce perché la stringa non può contenere un separatore decimale; deve contenere solo cifre integrali.

  • "16,667". La conversione non riesce perché la stringa non può contenere separatori di gruppi; deve contenere solo cifre integrali.

  • "(100)". La conversione non riesce perché la stringa non può contenere un segno negativo diverso da quello definito dalle impostazioni cultura correnti NumberFormatInfo.NegativeSign e NumberFormatInfo.NumberNegativePattern proprietà.

  • "01FA". La conversione non riesce perché la stringa non può contenere cifre esadecimali. deve contenere solo cifre decimali.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 2.0
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: