I have always had the need to use String Enumerations. What do I mean by that?
              Suppose we have this Enum Type:
                  public enum StringNames
    {
        Bilal,
        Wessam,
        Elsa,
        Samer,
        Tarek,
        Farah,
        Firas,
        Mohammad
    }
              In my code, I would like to have something as:
              
              
              string _Name = "Bilal";
switch (_Name)
{    
        case StringNames.Bilal:
                break;    
        case StringNames.Wessam:           
                break;     
        case StringNames.Elsa:           
                break;      
        .......
}
              
              Well the above doesn't work as it is. How to make it work?
              There is a method called Enum.Parse, there are two overloads, we will be using the one with the IgnoreCase boolean option as follows:
              
              StringNames _StringNames = (StringNames)Enum.Parse(typeof(StringNames), _Name, true);
              
              This will convert the string value "Bilal" contained in _Names, into a EnumType value, so now after executing the above statement, you have:
              
               _StringNames = StringNames.Bilal
              So, StringNames.Bilal is an EnumValue equals the EnumValue _StringNames, so rewriting the above switch statement would be something as:
              
                  string _Name = "Bilal";
    StringNames _StringNames = (StringNames)Enum.Parse(typeof(StringNames),_Name,true);
    switch (_StringNames)
    {
        case StringNames.Bilal:
            break;
        case StringNames.Wessam:
            break;
        case StringNames.Elsa:
            break;
        .......
    }
              
              I want to thank my colleague Raed for uncovering for me the real return type of the Enum.Parse method.
              Hope helps you out!
              Regards
              Tags: ASP.NET 1.x, ASP.NET 2.0 - General