C# Converter String em Enum
-
C#
string
aenum
Conversão - UtilizandoEnum.Parse()
eEnum.TryParse()
Métodos -
C# Programa para converter
string
em umenum
com tratamento de exceções utilizandoEnum.Parse()
Método -
C# Programa para converter
string
em umenum
UtilizandoEnum.TryParse()
-
C# Programa para verificar a existência do valor da string utilizando
Enum.IsDefined()
Método - Conclusão:

Em C# utilizamos métodos Enum.Parse()
e Enum.TryParse()
para converter uma string em um enum. Aqui demos exemplos para ambos, mas recomendamos que você utilize o método Enum.TryParse()
ao converter uma string em um enum.
C# string
a enum
Conversão - Utilizando Enum.Parse()
e Enum.TryParse()
Métodos
A fim de converter uma string em um enum
, podemos utilizar o método Enum.Parse()
. Você terá que incluir cuidadosamente System
no topo de seu arquivo como Enum.Parse()
é um método estático.
O tipo de enum, o valor da string e um indicador (opcional) são os parâmetros deste método. A sintaxe correta para utilizar Enum.Parse()
e Enum.TryParse()
é a seguinte:
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);
Agora vamos implementar isto em um programa c#.
C# Programa para converter string
em um enum
Utilizando 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");
}
}
}
Resultado:
The Flower is Rose
Aqui temos um enumero chamado Flowers
contendo múltiplas constantes com seus respectivos valores. Chamamos Enum.Parse()
método para converter o valor da string Rose
em um enumero. O typeof(Flowers)
retornará o tipo de enumeração. No final, verificamos se nossa conversão foi bem sucedida ou não.
Algumas vezes, pode ocorrer uma exceção se a string que estamos tentando converter não estiver disponível no enumero. Para evitar isso, utilizaremos o bloco try-catch
.
C# Programa para converter string
em um enum
com tratamento de exceções utilizando Enum.Parse()
Método
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;
}
}
}
Resultado:
Not Possible
C# Programa para converter string
em um enum
Utilizando 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);
}
}
}
Resultado:
True
Também podemos passar o valor de constante em enumeração como parâmetro no método Enum.TryParse()
. O programa seguinte implementa isto:
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);
}
}
}
Resultado:
Rose
Você também pode verificar se o valor da string que deseja converter está definido no enum ou não utilizando o método Enum.IsDefined()
.
C# Programa para verificar a existência do valor da string utilizando Enum.IsDefined()
Método
using System;
enum Flowers
{
None,
Daisy= 1,
Lili = 2,
Rose = 3
}
class Conversion{
static void Main()
{
Console.WriteLine(Enum.IsDefined(typeof(Flowers), "Rose"));
}
}
Resultado:
True
Conclusão:
Enum.Parse()
e Enum.TryParse()
são os métodos que são utilizados para converter uma string em um enum. Mas é a melhor prática utilizar Enum.TryParse()
.
Artigo relacionado - Csharp String
- C# Converter Int a String
- Use Strings na instrução Switch em C#
- C# Converter String para Data
- Como converter uma string em Booleano em C#
- Como converter uma string em uma array de bytes em C#
Artigo relacionado - Csharp Enum
- Converter Int em Enum em C#
- Converter Enum em String em C#
- Strings Enum em C#
- Como Enumerar um Enum em C#
- Como Obter Valor Intensivo do Enum em C#