using System;
using System.Linq;
using System.Collections.Generic;
using System.Globalization;
public class Test
{
enum Tst{a,b,c}
public static IDictionary<int, string> GetEnumDictionary<T>() where T : IConvertible
{
return Enum
.GetValues(typeof(T))
.Cast<T>()
.ToDictionary(t => t.ToInt32(CultureInfo.InvariantCulture), t => t.ToString());
}
public static void Main()
{
var x = GetEnumDictionary<Tst>();
foreach (var p in x) {
Console.WriteLine("{0} {1}", p.Key, p.Value);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CnVzaW5nIFN5c3RlbS5HbG9iYWxpemF0aW9uOwoKcHVibGljIGNsYXNzIFRlc3QKewogICAgZW51bSBUc3R7YSxiLGN9CiAgICBwdWJsaWMgc3RhdGljIElEaWN0aW9uYXJ5PGludCwgc3RyaW5nPiBHZXRFbnVtRGljdGlvbmFyeTxUPigpIHdoZXJlIFQgOiBJQ29udmVydGlibGUKICAgIHsKICAgICAgICByZXR1cm4gRW51bQogICAgICAgICAgIC5HZXRWYWx1ZXModHlwZW9mKFQpKQogICAgICAgICAgIC5DYXN0PFQ+KCkKICAgICAgICAgICAuVG9EaWN0aW9uYXJ5KHQgPT4gdC5Ub0ludDMyKEN1bHR1cmVJbmZvLkludmFyaWFudEN1bHR1cmUpLCB0ID0+IHQuVG9TdHJpbmcoKSk7CiAgICB9CgpwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgdmFyIHggPSBHZXRFbnVtRGljdGlvbmFyeTxUc3Q+KCk7CiAgICAgICAgZm9yZWFjaCAodmFyIHAgaW4geCkgewogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiezB9IHsxfSIsIHAuS2V5LCBwLlZhbHVlKTsKICAgICAgICB9Cgl9Cn0=