获得枚举值

时间:2013-12-16 07:41:17

标签: c# .net enums typeof

public enum TimeOfDay
    {
        Morning = 0,
        Afternoon = 1,
        Evening = 2
    }

问题:当我们想从字符串中获取枚举值时,我们可以使用:

TimeOfDay time = TimeOfDay.Afternoon;
Console.WriteLine((int)time);

但是下面的代码是什么(使用相同的答案)?

TimeOfDay time2 = (TimeOfDay) Enum.Parse(typeof(TimeOfDay), "afternoon", true);
Console.WriteLine((int)time2);

谢谢你, 穆赫辛

1 个答案:

答案 0 :(得分:3)

MSDN将Enum.Parse方法定义为

  

转换名称或数值为1的字符串表示形式   或更多枚举的常量到等效的枚举对象。

也就是说,该方法采用整数或字符串表示形式,并从关联的Enum返回相应的对象。在这种情况下,用户提供字符串参数“afternoon”,枚举类型“TimeOfDay”并将不区分大小写的标志设置为true。然后,该方法对Enum中的对象进行不区分大小写的匹配,并返回名称与用户参数匹配的对象。