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();
更新
好的,下次你应该提到你想要一些通用的东西......用于所有枚举,而不仅仅是那个特定的例子。你可以试试这个:
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>();
是等价的......但是......任何适合你的东西。