zoukankan      html  css  js  c++  java
  • Enum类型 枚举内部值/名

    enum Days
    {
    Nothing=0,
    Mon=1,
    Stu=2
    }

    static void Main(string[] args)
    {
    foreach (int item in Enum.GetValues(typeof(Days)))
    {
    int value = item;
    string name= Enum.GetName(typeof(Days), item);
    }

    }

    /// <summary>
    /// 枚举描述
    /// </summary>
    /// <param name="e"></param>
    /// <returns></returns>
    public static String GetEnumDesc(Enum e)
    {
    FieldInfo fieldInfo = e.GetType().GetField(e.ToString());
    if (fieldInfo != null)
    {
    DescriptionAttribute[] EnumAttributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
    if (EnumAttributes.Length > 0)
    {
    return EnumAttributes[0].Description;
    }
    }
    return e.ToString();
    }

    原文链接

    public static T ToEnum<T>(int value, T defaultT) where T : struct
    {
    string enumName = Enum.GetName(typeof(T), value);

    return ToEnum<T>(enumName, defaultT);
    }

    public static T ToEnum<T>(string enumName, T defaultT) where T : struct
    {
    if (string.IsNullOrWhiteSpace(enumName))
    {
    return defaultT;
    }

    T result;

    if (!Enum.TryParse<T>(enumName.Trim(), out result))
    {
    return defaultT;
    }

    if (Enum.IsDefined(typeof(T), result))
    {
    return result;
    }

    return defaultT;
    }

  • 相关阅读:
    Git Bash关键命令
    一个不需要Log4Net的写日志的简单方法
    未知软件
    Linux
    Linux
    Linux
    Linux
    Linux
    Linux
    Linux
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/5012126.html
Copyright © 2011-2022 走看看