C# Converti la stringa in Enum
-
Conversione da C# da
stringa
aenum
- Utilizzo dei metodiEnum.Parse()
eEnum.TryParse()
-
Programma C# per convertire una
stringa
in unaenum
con la gestione delle eccezioni usando il metodoEnum.Parse()
-
Programma C# per convertire una
stringa
in unaenum
usandoEnum.TryParse()
-
Programma C# per verificare l’esistenza di valori di stringa utilizzando il metodo
Enum.IsDefined()
- Conclusione
In C# usiamo i metodi Enum.Parse()
e Enum.TryParse()
per convertire una stringa in un’enumerazione. Qui abbiamo fornito esempi per entrambi, ma ti consigliamo di usare il metodo Enum.TryParse()
quando converti una stringa in un’enumerazione.
Conversione da C# da stringa
a enum
- Utilizzo dei metodi Enum.Parse()
e Enum.TryParse()
Per convertire una stringa in un enum
, possiamo usare il metodo Enum.Parse()
. Dovrai includere attentamente System
all’inizio del tuo file poiché Enum.Parse()
è un metodo statico.
Il tipo di enum, il valore della stringa e un indicatore (opzionale) sono i parametri di questo metodo. La sintassi corretta per utilizzare Enum.Parse()
e Enum.TryParse()
è la seguente:
EnumName VariableName = (EnumName)Enum.Parse(typeof(EnumName), StringValue);
EnumName VariableName = (EnumName)Enum.Parse(typeof(EnumName), StringValue,
indicator); // indicator can be true or false
// To implement Enum.TryParse()
EnumName VariableName;
Enum.TryParse(StringValue, out VariableName);
Ora lo implementeremo in un programma c#.
Programma C# per convertire una stringa
in un enum
usando Enum.Parse()
using System;
class Conversion {
enum Flowers { None, Daisy = 1, Lili = 2, Rose = 3 }
static void Main() {
string stringvalue = "Rose";
Flowers Flower = (Flowers)Enum.Parse(typeof(Flowers), stringvalue);
// To check if we have converted successfully
if (Flower == Flowers.Rose) {
Console.WriteLine("The Flower is Rose");
}
}
}
Produzione:
The Flower is Rose
Qui abbiamo un’enumerazione denominata Flowers
contenente più costanti con i rispettivi valori. Abbiamo chiamato il metodo Enum.Parse()
per convertire il valore della stringa Rose
in un enum. Il typeof(Flowers)
restituirà il tipo enum. Alla fine, abbiamo verificato se la nostra conversione è andata a buon fine o meno.
A volte, può verificarsi un’eccezione se la stringa che stiamo cercando di convertire non è disponibile nell’enum. Per evitare questo useremo il blocco try-catch
.
Programma C# per convertire una stringa
in una enum
con la gestione delle eccezioni usando il metodo Enum.Parse()
using System;
class Conversion {
enum Flowers { None, Daisy = 1, Lili = 2, Rose = 3 }
static void Main() {
stringvalue = "Jasmine";
try {
Flowers Flower = (Flowers)Enum.Parse(typeof(Flowers), stringvalue);
} catch (Exception ex) {
Console.WriteLine("Not Possible");
// Set value to none
Flower = Flowers.none;
}
}
}
Produzione:
Not Possible
Programma C# per convertire una stringa
in una enum
usando Enum.TryParse()
using System;
enum Flowers { None, Daisy = 1, Lili = 2, Rose = 3 }
class Conversion {
static void Main() {
string stringvalue = "Rose";
// Using Enum.TryParse()
Flowers Flower;
if (Enum.TryParse(stringvalue, out Flower)) {
Console.WriteLine(Flower == Flowers.Rose);
}
}
}
Produzione:
True
Possiamo anche passare il valore della costante in enum come parametro nel metodo Enum.TryParse()
. Il seguente programma implementa questo:
using System;
enum Flowers { None, Daisy = 1, Lili = 2, Rose = 3 }
class Conversion {
static void Main() {
Flowers Flower;
if (Enum.TryParse("3", out Flower)) {
Console.WriteLine(Flower);
}
}
}
Produzione:
Rose
Puoi anche controllare se il valore della stringa che vuoi convertire è definito in enum o non usando il metodo Enum.IsDefined()
.
Programma C# per verificare l’esistenza di valori di stringa utilizzando il metodo Enum.IsDefined()
using System;
enum Flowers { None, Daisy = 1, Lili = 2, Rose = 3 }
class Conversion {
static void Main() {
Console.WriteLine(Enum.IsDefined(typeof(Flowers), "Rose"));
}
}
Produzione:
True
Conclusione
Enum.Parse()
e Enum.TryParse()
sono i metodi usati per convertire una stringa in un’enumerazione. Ma è consigliabile utilizzare Enum.TryParse()
.
Articolo correlato - Csharp String
- C# Converti Int in String
- C# Converti la stringa in Datetime
- Convertire una stringa in booleano in C#
- Convertire una stringa in float in C#
- Convertire una stringa in un array di byte in C#