zoukankan      html  css  js  c++  java
  • c# 枚举

    命名空间:   System
    程序集:  mscorlib(mscorlib.dll 中)

    定义一个枚举类型

    public enum Week
    {
        [Description("星期一")] //枚举描述
        Monday=1,              //设置枚举的成员常量值
        [Description("星期二")]
        Tuesday=2,
        [Description("星期三")]
        Wednesday =3,
        [Description("星期四")]
        Thursday=4,
        [Description("星期五")]
        Friday=5,
        [Description("星期六")]
        Saturday=6,
        [Description("星期七")]
        Sunday=7
    }
    备注:
    1.成员的值可以一样的,但是成员不行
    例如:你可以设置
    public enum Week{Monday=1,Tuseday=1}
    但是你不可以出现有两个成员是一样的,例如:public enum Week{Monday=1,Monday=2,Tuseday=3}

    2. Console.WriteLine((int)EnumDemo.Week.Friday);//输出 5

    3. string[] array1 = Enum.GetNames(typeof(EnumDemo.Week));
    Console.WriteLine(array1[1]); //输出Tuesday

    Enum.GetNames 方法 (Type) ,检索指定枚举中常数名称的数组。
    参数enumTypeType: System.Type枚举类型。
    返回值Type: System.String[]enumType 的常数名称的字符串数组

           

    4. Array array2 = Enum.GetValues(typeof(EnumDemo.Week));
    Console.WriteLine(array2.GetValue(1)); //输出:Tuesday

    Enum.GetValues 方法(Type)
    参数enumTypeType: System.Type
    返回值Type: System.Array

           

    4. Type t = Enum.GetUnderlyingType(typeof(EnumDemo.Week));     
    Console.WriteLine(t); //输出 System.Int32

    Enum.GetUnderlyingType 方法 (Type)
    参数enumType,基础类型将被检索的枚举。
    返回值Type: System.Type enumType 的基础类型

          

    6. //由值获取内容
    int i = 1;
    string Name = Enum.Parse(typeof(EnumDemo.Week), i.ToString()).ToString();
    Console.WriteLine(Name);//输出:Monday

    7. //由内容获得值
    string Name2 = "Monday";
    int j = Convert.ToInt32(Enum.Parse(typeof(EnumDemo.Week), Name2));
    Console.WriteLine(j);//输出:1
    8.
    Dictionary<string, int> Sexlist = new Dictionary<string, int>();
    string[] keys = Enum.GetNames(typeof(EnumDemo.Week));
    Array values = Enum.GetValues(typeof(EnumDemo.Week));
    for (int i = 0; i < keys.Length; i++)
    {
    Sexlist.Add(keys[i], (int)values.GetValue(i));
    }

    9.

       /// <summary>
       /// 获取描述信息
       /// </summary>
       /// <param name="en"></param>
       /// <returns></returns>
       public static string description( Enum en)
       {
            Type type = en.GetType();
            MemberInfo[] memInfo = type.GetMember(en.ToString());
           if (memInfo != null && memInfo.Length > 0)
           {
              object[] attrs = memInfo[0].GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false);
              if (attrs != null && attrs.Length > 0)
              return ((DescriptionAttribute)attrs[0]).Description;
           }
         return en.ToString();
       }

      Console.WriteLine(description(EnumDemo.Week.Friday));//输出:星期五



    
    




    
    



  • 相关阅读:
    这不是线性表
    定义线性表
    这不是线性表
    API函数的参数
    定义线性表
    [原创 js] 自定义页面功能
    YUI3 学习笔记(1) 
    YUI3学习笔记 ( 2 )
    含有变量的正则表达式使用方法
    YUI3学习笔记 ( 3 )
  • 原文地址:https://www.cnblogs.com/huangenai/p/5714314.html
Copyright © 2011-2022 走看看