How do I convert a string to an Enum Value?

How do I convert a string to an Enum Value?

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

From:
http://www.c-sharpcorner.com/UploadFile/mahesh/StringToEnum10212005143155PM/StringToEnum.aspx?ArticleID=18f3d459-00fc-4cac-b26a-79cb36ae859c

posted @ 2005-11-29 15:27  jhtchina  阅读(329)  评论(0编辑  收藏  举报