How to get the int for enum value in Enumeration

c#, enumeration, enums

Solution

To answer your question "how can I get the integer for string value":

To convert from a string into an enum, and then convert the resulting enum to an int, you can do this:

public enum Animals
{
    dog = 0,
    cat = 1,
    rat = 2
}

...

Animals answer;

if (Enum.TryParse("CAT", true, out answer))
{
    int value = (int) answer;
    Console.WriteLine(value);
}

By the way, normal enum naming convention dictates that you should not pluralize your enum name unless it represents flag values (powers of two) where multiple bits can be set - so you should call it `Animal`, not `Animals`.

Problem

If I had the value : "dog" and the enumeration: ``` public enum Animals { dog = 0 , cat = 1 , rat = 2 } ``` how could I get 0 for the value "dog" from Animals ? EDIT: I am wondering if there is index like acces. More commonn : how can I get the integer for string value.

Original source

Related problems