Enum to Dictionary in C#

Try:

var dict = Enum.GetValues(typeof(fooEnumType))
               .Cast<fooEnumType>()
               .ToDictionary(t => (int)t, t => t.ToString() );

See: How do I enumerate an enum in C#?

foreach( typFoo foo in Enum.GetValues(typeof(typFoo)) )
{
    mydic.Add((int)foo, foo.ToString());
}

Adapting Ani's answer so that it can be used as a generic method (thanks, toddmo):

public static Dictionary<int, string> EnumDictionary<T>()
{
    if (!typeof(T).IsEnum)
        throw new ArgumentException("Type must be an enum");
    return Enum.GetValues(typeof(T))
        .Cast<T>()
        .ToDictionary(t => (int)(object)t, t => t.ToString());
}