Leggi in inglese

Condividi tramite


Enum.Parse Metodo

Definizione

Converte la rappresentazione di stringa del nome o del valore numerico di una o più costanti enumerate in un oggetto enumerato equivalente.

Overload

Parse(Type, ReadOnlySpan<Char>)

Converte l'intervallo di caratteri di rappresentazione del nome o del valore numerico di una o più costanti enumerate in un oggetto enumerato equivalente.

Parse(Type, String)

Converte la rappresentazione di stringa del nome o del valore numerico di una o più costanti enumerate in un oggetto enumerato equivalente.

Parse(Type, ReadOnlySpan<Char>, Boolean)

Converte l'intervallo di caratteri di rappresentazione del nome o del valore numerico di una o più costanti enumerate in un oggetto enumerato equivalente. Un parametro specifica se l'operazione non fa distinzione tra maiuscole e minuscole.

Parse(Type, String, Boolean)

Converte la rappresentazione di stringa del nome o del valore numerico di una o più costanti enumerate in un oggetto enumerato equivalente. Un parametro specifica se l'operazione non fa distinzione tra maiuscole e minuscole.

Parse<TEnum>(String, Boolean)

Converte la rappresentazione di stringa del nome o del valore numerico di una o più costanti enumerate specificate da TEnum in un oggetto enumerato equivalente. Un parametro specifica se l'operazione non fa distinzione tra maiuscole e minuscole.

Parse<TEnum>(ReadOnlySpan<Char>, Boolean)

Converte l'intervallo di caratteri di rappresentazione del nome o del valore numerico di una o più costanti enumerate specificate da TEnum in un oggetto enumerato equivalente. Un parametro specifica se l'operazione non fa distinzione tra maiuscole e minuscole.

Parse<TEnum>(ReadOnlySpan<Char>)

Converte l'intervallo di caratteri di rappresentazione del nome o del valore numerico di una o più costanti enumerate specificate da TEnum in un oggetto enumerato equivalente.

Parse<TEnum>(String)

Converte la rappresentazione di stringa del nome o del valore numerico di una o più costanti enumerate specificate da TEnum in un oggetto enumerato equivalente.

Parse(Type, ReadOnlySpan<Char>)

Origine:
Enum.cs
Origine:
Enum.cs
Origine:
Enum.cs

Converte l'intervallo di caratteri di rappresentazione del nome o del valore numerico di una o più costanti enumerate in un oggetto enumerato equivalente.

C#
public static object Parse (Type enumType, ReadOnlySpan<char> value);

Parametri

enumType
Type

Tipo di enumerazione.

value
ReadOnlySpan<Char>

Intervallo contenente il nome o il valore da convertire.

Restituisce

Oggetto di tipo enumType il cui valore è rappresentato da value.

Eccezioni

enumType è null.

enumType non è un Enum.

value è una stringa vuota o contiene solo spazi vuoti.

value è un nome, ma non una delle costanti denominate definite per l'enumerazione.

value non rientra nell'intervallo del tipo sottostante di enumType.

.NET 8 e versioni successive: enumType è un tipo di enumerazione booleano.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET 6, 7, 8, 9

Parse(Type, String)

Origine:
Enum.cs
Origine:
Enum.cs
Origine:
Enum.cs

Converte la rappresentazione di stringa del nome o del valore numerico di una o più costanti enumerate in un oggetto enumerato equivalente.

C#
public static object Parse (Type enumType, string value);
C#
[System.Runtime.InteropServices.ComVisible(true)]
public static object Parse (Type enumType, string value);

Parametri

enumType
Type

Tipo di enumerazione.

value
String

Stringa contenente il nome o il valore da convertire.

Restituisce

Oggetto di tipo enumType il cui valore è rappresentato da value.

Attributi

Eccezioni

enumType o value è null.

enumType non è un Enum.

-o-

value è una stringa vuota o contiene solo spazi vuoti.

-o-

value è un nome, ma non una delle costanti denominate definite per l'enumerazione.

value non rientra nell'intervallo del tipo sottostante di enumType.

.NET 8 e versioni successive: enumType è un tipo di enumerazione booleano.

Esempio

Nell'esempio seguente viene utilizzato il metodo Parse(Type, String) per analizzare una matrice di stringhe create chiamando il metodo GetNames. Usa anche il metodo Parse(Type, String) per analizzare un valore di enumerazione costituito da un campo di bit.

C#
using System;

public class ParseTest
{
    [Flags]
    enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };

    public static void Main()
    {
        Console.WriteLine("The entries of the Colors enumeration are:");
        foreach (string colorName in Enum.GetNames(typeof(Colors)))
        {
            Console.WriteLine("{0} = {1:D}", colorName,
                                         Enum.Parse(typeof(Colors), colorName));
        }
        Console.WriteLine();

        Colors orange = (Colors) Enum.Parse(typeof(Colors), "Red, Yellow");
        Console.WriteLine("The orange value {0:D} has the combined entries of {0}",
                           orange);
    }
}

/*
This code example produces the following results:

The entries of the Colors Enum are:
Red = 1
Green = 2
Blue = 4
Yellow = 8

The orange value 9 has the combined entries of Red, Yellow

*/

Commenti

Il parametro value contiene la rappresentazione di stringa del valore sottostante o della costante denominata di un membro di enumerazione oppure un elenco di costanti denominate delimitate da virgole (,). Uno o più spazi vuoti possono precedere o seguire ogni valore, nome o virgola in value. Se value è un elenco, il valore restituito è il valore dei nomi specificati combinati con un'operazione di OR bit per bit.

Se value è un nome che non corrisponde a una costante denominata di enumType, il metodo genera un ArgumentException. Se value è la rappresentazione di stringa di un numero intero che non rappresenta un valore sottostante dell'enumerazione enumType, il metodo restituisce un membro di enumerazione il cui valore sottostante è value convertito in un tipo integrale. Se questo comportamento è indesiderato, chiamare il metodo IsDefined per assicurarsi che una determinata rappresentazione di stringa di un numero intero sia effettivamente un membro di enumType. Nell'esempio seguente viene definita un'enumerazione Colors, viene chiamato il metodo Parse(Type, String) per convertire le stringhe nei valori di enumerazione corrispondenti e viene chiamato il metodo IsDefined per assicurarsi che determinati valori integrali siano valori sottostanti nell'enumerazione Colors.

C#
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)
      {
         try {
            Colors colorValue = (Colors) Enum.Parse(typeof(Colors), colorString);
            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);
         }
         catch (ArgumentException) {
            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.

Questa operazione fa distinzione tra maiuscole e minuscole.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Parse(Type, ReadOnlySpan<Char>, Boolean)

Origine:
Enum.cs
Origine:
Enum.cs
Origine:
Enum.cs

Converte l'intervallo di caratteri di rappresentazione del nome o del valore numerico di una o più costanti enumerate in un oggetto enumerato equivalente. Un parametro specifica se l'operazione non fa distinzione tra maiuscole e minuscole.

C#
public static object Parse (Type enumType, ReadOnlySpan<char> value, bool ignoreCase);

Parametri

enumType
Type

Tipo di enumerazione.

value
ReadOnlySpan<Char>

Intervallo contenente il nome o il valore da convertire.

ignoreCase
Boolean

true ignorare la distinzione tra maiuscole e minuscole; false di considerare il caso.

Restituisce

Oggetto di tipo enumType il cui valore è rappresentato da value.

Eccezioni

enumType è null.

enumType non è un Enum.

value è una stringa vuota o contiene solo spazi vuoti.

value è un nome, ma non una delle costanti denominate definite per l'enumerazione.

value non rientra nell'intervallo del tipo sottostante di enumType

.NET 8 e versioni successive: enumType è un tipo di enumerazione booleano.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET 6, 7, 8, 9

Parse(Type, String, Boolean)

Origine:
Enum.cs
Origine:
Enum.cs
Origine:
Enum.cs

Converte la rappresentazione di stringa del nome o del valore numerico di una o più costanti enumerate in un oggetto enumerato equivalente. Un parametro specifica se l'operazione non fa distinzione tra maiuscole e minuscole.

C#
public static object Parse (Type enumType, string value, bool ignoreCase);
C#
[System.Runtime.InteropServices.ComVisible(true)]
public static object Parse (Type enumType, string value, bool ignoreCase);

Parametri

enumType
Type

Tipo di enumerazione.

value
String

Stringa contenente il nome o il valore da convertire.

ignoreCase
Boolean

true ignorare la distinzione tra maiuscole e minuscole; false di considerare il caso.

Restituisce

Oggetto di tipo enumType il cui valore è rappresentato da value.

Attributi

Eccezioni

enumType o value è null.

enumType non è un Enum.

-o-

value è una stringa vuota ("") o contiene solo spazi vuoti.

-o-

value è un nome, ma non una delle costanti denominate definite per l'enumerazione.

value non rientra nell'intervallo del tipo sottostante di enumType.

.NET 8 e versioni successive: enumType è un tipo di enumerazione booleano.

Esempio

Nell'esempio seguente viene utilizzato il metodo Parse(Type, String, Boolean) per analizzare una matrice di stringhe create chiamando il metodo GetNames. Usa anche il metodo Parse(Type, String) per analizzare un valore di enumerazione costituito da un campo di bit.

C#
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)
      {
         try {
            Colors colorValue = (Colors) Enum.Parse(typeof(Colors), colorString, true);
            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);
         }
         catch (ArgumentException) {
            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.
//       Converted 'blue' to Blue.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.

Commenti

Il parametro value contiene la rappresentazione di stringa del valore sottostante o della costante denominata di un membro di enumerazione oppure un elenco di costanti denominate delimitate da virgole (,). Uno o più spazi vuoti possono precedere o seguire ogni valore, nome o virgola in value. Se value è un elenco, il valore restituito è il valore dei nomi specificati combinati con un'operazione di OR bit per bit.

Se value è un nome che non corrisponde a una costante denominata di enumType, il metodo genera un ArgumentException. Se value è la rappresentazione di stringa di un numero intero che non rappresenta un valore sottostante dell'enumerazione enumType, il metodo restituisce un membro di enumerazione il cui valore sottostante è value convertito in un tipo integrale. Se questo comportamento è indesiderato, chiamare il metodo IsDefined per assicurarsi che una determinata rappresentazione di stringa di un numero intero sia effettivamente un membro di enumType. Nell'esempio seguente viene definita un'enumerazione Colors, viene chiamato il metodo Parse(Type, String, Boolean) per convertire le stringhe nei valori di enumerazione corrispondenti e viene chiamato il metodo IsDefined per assicurarsi che determinati valori integrali siano valori sottostanti nell'enumerazione Colors.

Il parametro ignoreCase specifica se questa operazione fa distinzione tra maiuscole e minuscole.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Parse<TEnum>(String, Boolean)

Origine:
Enum.cs
Origine:
Enum.cs
Origine:
Enum.cs

Converte la rappresentazione di stringa del nome o del valore numerico di una o più costanti enumerate specificate da TEnum in un oggetto enumerato equivalente. Un parametro specifica se l'operazione non fa distinzione tra maiuscole e minuscole.

C#
public static TEnum Parse<TEnum> (string value, bool ignoreCase) where TEnum : struct;

Parametri di tipo

TEnum

Tipo di enumerazione.

Parametri

value
String

Stringa contenente il nome o il valore da convertire.

ignoreCase
Boolean

true ignorare la distinzione tra maiuscole e minuscole; false di considerare il caso.

Restituisce

TEnum

Oggetto di tipo TEnum il cui valore è rappresentato da value.

Eccezioni

TEnum non è un tipo di Enum.

value è null.

value non contiene informazioni sull'enumerazione.

.NET 8 e versioni successive: TEnum è un tipo di enumerazione booleano.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

Parse<TEnum>(ReadOnlySpan<Char>, Boolean)

Origine:
Enum.cs
Origine:
Enum.cs
Origine:
Enum.cs

Converte l'intervallo di caratteri di rappresentazione del nome o del valore numerico di una o più costanti enumerate specificate da TEnum in un oggetto enumerato equivalente. Un parametro specifica se l'operazione non fa distinzione tra maiuscole e minuscole.

C#
public static TEnum Parse<TEnum> (ReadOnlySpan<char> value, bool ignoreCase) where TEnum : struct;

Parametri di tipo

TEnum

Tipo di enumerazione.

Parametri

value
ReadOnlySpan<Char>

Intervallo contenente il nome o il valore da convertire.

ignoreCase
Boolean

true ignorare la distinzione tra maiuscole e minuscole; false di considerare il caso.

Restituisce

TEnum

TEnum Un oggetto di tipo TEnum il cui valore è rappresentato da value.

Eccezioni

TEnum non è un tipo di Enum.

value non contiene informazioni sull'enumerazione.

.NET 8 e versioni successive: TEnum è un tipo di enumerazione booleano.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET 6, 7, 8, 9

Parse<TEnum>(ReadOnlySpan<Char>)

Origine:
Enum.cs
Origine:
Enum.cs
Origine:
Enum.cs

Converte l'intervallo di caratteri di rappresentazione del nome o del valore numerico di una o più costanti enumerate specificate da TEnum in un oggetto enumerato equivalente.

C#
public static TEnum Parse<TEnum> (ReadOnlySpan<char> value) where TEnum : struct;

Parametri di tipo

TEnum

Tipo di enumerazione.

Parametri

value
ReadOnlySpan<Char>

Intervallo contenente il nome o il valore da convertire.

Restituisce

TEnum

TEnum Un oggetto di tipo TEnum il cui valore è rappresentato da value.

Eccezioni

TEnum non è un tipo di Enum.

value non contiene informazioni sull'enumerazione.

.NET 8 e versioni successive: TEnum è un tipo di enumerazione booleano.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET 6, 7, 8, 9

Parse<TEnum>(String)

Origine:
Enum.cs
Origine:
Enum.cs
Origine:
Enum.cs

Converte la rappresentazione di stringa del nome o del valore numerico di una o più costanti enumerate specificate da TEnum in un oggetto enumerato equivalente.

C#
public static TEnum Parse<TEnum> (string value) where TEnum : struct;

Parametri di tipo

TEnum

Tipo di enumerazione.

Parametri

value
String

Stringa contenente il nome o il valore da convertire.

Restituisce

TEnum

Oggetto di tipo TEnum il cui valore è rappresentato da value.

Eccezioni

TEnum non è un tipo di Enum.

value è null.

value non contiene informazioni sull'enumerazione.

.NET 8 e versioni successive: TEnum è un tipo di enumerazione booleano.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1