【问题标题】:obtaining an enum value获取枚举值
【发布时间】:2013-12-16 07:41:17
【问题描述】:
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);

谢谢你, 莫森

【问题讨论】:

  • 看起来像 .NET - 这是 c# 吗?请为您的问题添加合适的语言标签。
  • @athabaska 这是一个非常有效的问题。请调整您的回复
  • 谢谢你,shree.pat18。最好的程序员都是很有礼貌的人。
  • @user2987231 这不应该仅限于程序员。尽管如此,请仔细阅读常见问题解答,以确保您将来也会发布有关主题的问题。
  • 为粗鲁道歉,但说真的 - 谷歌搜索“Enum.Parse”比在这里创建主题更容易。

标签: c# .net enums typeof


【解决方案1】:

MSDN 将 Enum.Parse 方法定义为

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 2022-11-12
    • 2013-04-07
    • 2012-08-11
    相关资源
    最近更新 更多