This might seems a pretty trivial problem, but every time I've to get an Enum given its name I forgot how to do it, and I've to look for it on Google.
So, is there a better way to remember something you always forget than writing a post about it?
Back to the problem: going from an Enum to its numeric value or its string representation is quite easy:
/* Enum to string */
string stringValue = enumVal.ToString();
/* Enum to numeric value */
int numericVal = (int) enumVal;
And going from a numeric value to the Enum is quite as easy:
/* Numeric value to Enum
int numericVal = 3;
MyEnum enumVal = (MyEnum) numericVal;
But going from the name to the Enum is a bit more complicate... well, if you don't remember the function call: the System.Enum class has a static method (Enum.Parse) that converts a string to the Enumerated type specified:
/* String to Enum */
MyEnum enumVal = (MyEnum) Enum.Parse(typeof(MyEnum), stringValue);
Too bad the need for the cast: they could have implemented a generic version of the Parse method.
I hope I'll remember this function call next time I need it... or at least I know where to look for it.
Technorati tags:
C#,
Enum,
Parse