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

 

Data di pubblicazione: ottobre 2016

Converte la rappresentazione di stringa del nome o del valore numerico di una o più costanti enumerate in un oggetto enumerato equivalente. Il valore restituito indica se la conversione è riuscita.

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

public static bool TryParse<TEnum>(
	string value,
	out TEnum result
)
where TEnum : struct

Parametri

value
Type: System.String

Rappresentazione di stringa del nome di enumerazione o del valore sottostante da convertire.

result
Type: TEnum

Quando questo metodo viene restituito, result contiene un oggetto di tipo TEnum il cui valore è rappresentato da value se l'operazione di analisi viene eseguita correttamente. Se l'operazione di analisi non riesce, result contiene il valore predefinito del tipo sottostante di TEnum. Si noti che questo valore non deve essere un membro dell'enumerazione di TEnum. Questo parametro viene passato non inizializzato.

Valore restituito

Type: System.Boolean

true se il parametro value è stato convertito correttamente; in caso contrario, false.

Parametri tipo

TEnum

Tipo di enumerazione nel quale convertire value.

Exception Condition
ArgumentException

TEnum non è un tipo di enumerazione.

TryParse<TEnum>(String, TEnum)è identico al Parse(Type, String) (metodo), con la differenza che anziché generare un'eccezione, viene restituito false se la conversione non riesce. Elimina la necessità di eccezioni durante l'analisi di rappresentazione di stringa del valore di enumerazione.

Il value parametro contiene la rappresentazione di stringa del valore sottostante o costante denominata di un membro di enumerazione o un elenco di costanti denominate o i valori sottostanti delimitati da virgole (,). Se value include più costanti o valori denominati, uno o più spazi vuoti possono precedere o seguire ogni valore, il nome o virgola value. Se value è un elenco, result riflette il valore dei nomi specificati o combinati con un bit per bit di valori sottostanti OR operazione. Se value è la rappresentazione di stringa del nome di un valore di enumerazione, il confronto di value con enumerazione nomi è tra maiuscole e minuscole.

Se value è un nome che non corrisponde a una costante denominata del TEnum, il metodo restituisce false. Se value è la rappresentazione di stringa di un intero che rappresenta un valore sottostante pari di TEnum enumerazione, il metodo restituisce un membro di enumerazione il cui valore sottostante è value convertito in un tipo integrale. Se questo comportamento è indesiderato, chiamare il IsDefined metodo per assicurarsi che in realtà un membro di una rappresentazione particolare di un intero TEnum.

L'esempio seguente definisce un Colors enumerazione, chiama il TryParse<TEnum>(String, TEnum) metodo per convertire le stringhe ai relativi valori di enumerazione corrispondenti e le chiamate di IsDefined metodo per assicurarsi che determinati valori integrali sottostanti i valori nel Colors enumerazione.

using System;

[Flags] enum Colors { None=0, Red = 1, Green = 2, Blue = 4 };

public class Example
{
   public static void Main()
   {
      string[] colorStrings = { "0", "2", "8", "blue", "Blue", "Yellow", "Red, Green" };
      foreach (string colorString in colorStrings)
      {
         Colors colorValue;
         if (Enum.TryParse(colorString, out colorValue))        
            if (Enum.IsDefined(typeof(Colors), colorValue) | colorValue.ToString().Contains(","))  
               Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString());
            else
               Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString);
         else
            Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString);
      }
   }
}
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       blue is not a member of the Colors enumeration.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.

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