public enum WeekDay
{
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6,
Sunday = 7
}
string s = WeekDay.Friday.ToString();
それは簡単です...私が何かを誤解していない限り?
そして、あなたが番号しか持っていない場合:
string s = ((WeekDay)4).ToString();
アップデート
OK、次回は、その特定の例だけでなく、すべての列挙型に使用する汎用的なものが必要であることを言及する必要があります。これを試すことができます:
public static class EnumExtensions
{
public static T ToEnum<T>(this int value) where T : struct
{
return (T)(object)value;
}
public static string ToEnumName<T>(this int value) where T : struct
{
return ((T)(object)value).ToString();
}
}
次のように使用します。
int someEnumValue = 4;
string name = someEnumValue.ToEnumName<WeekDay>();
また:
WeekDay weekDay = someEnumValue.ToEnum<WeekDay>();
とにかく列挙型のタイプを知る必要があるので、それが本当に必要だとはまだ思いません...したがって:
これ:string name = ((WeekDay)someEnumValue).ToString();
このstring name = someEnumValue.ToEnumName<WeekDay>();
同等です...しかし..あなたに合ったものは何でも。