How do I Convert a String to an Enum Value?

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);
}
}
}

Up Next
    Ebook Download
    View all
    Learn
    View all