How do I convert a string to an Enum Value?
By September 10, 2005
In this How do I, you will learn how to convert a string to an enum value in C#.
I have an enum SortFilter, which looks like following:
public enum SortFilter
{
FirstName,
LastName,
Age,
Experience
}
Now, let's say I want to display the string value of enum in some control. For that, I will have to convert Enum value to string. For example, I want to add all enum string values to a DropDownList. The following code loops through the enumeration and adds string values to it. Here SortByList is DropDownList.
SortByList.Items.Clear();
// Conversion from Enum to String
foreach (string item in Enum.GetNames(typeof(ArrayListBinding.SortFilter)))
{
SortByList.Items.Add(item);
}
Now let's say, you have an enum string value say, "FirstName" and now you want to convert it to Enum value. The following code converts from a string to enum value, where Developer.SortingBy is of type SortFilter enumeration:
// Conversion from String to Enum
Developer.SortingBy = (SortFilter)Enum.Parse(typeof(SortFilter), "FirstName");
Note: The below note is added by Quach. See below article comments for more details.
You can also access enum using GetValues and GetName:
using System;
namespace Test
{
public class Class1
{
enum Fruit
{
Orange,
Apple,
Cherry,
Banana
}
public static void Main(string[] args)
{
foreach (Fruit f in Enum.GetValues(typeof(Fruit)))
{
Console.WriteLine(f);
}
string name = Enum.GetName(typeof(Fruit), Fruit.Cherry);
Console.WriteLine(name);
}
}
}