【C#】C#获取枚举所有名称和值

先定义一个枚举类型

    public enum Word
    {
     
        A = 0,
        B = 1,
        C = 2,
        D = 3
    }

获取全部名称

        string[] nameList=  System.Enum.GetNames(typeof(Word));
        foreach (var name in nameList)
        {
     
            print(name);//获取名称
        }

【C#】C#获取枚举所有名称和值_第1张图片
获取全部值

        System.Array values = System.Enum.GetValues(typeof(Word));
        foreach (var value in values)
        {
     
            print(value + "--" + (int)value);//获取名称和值
        }

【C#】C#获取枚举所有名称和值_第2张图片

通过反射获取枚举值

获取全部字段

        FieldInfo[] fields = typeof(Word).GetFields();
        foreach (var field in fields)
        {
     
            print(field);//获取字段
        }

【C#】C#获取枚举所有名称和值_第3张图片
打印中第一个为System.Int32 value__ ,枚举的实际值类型为Int32

获取全部值

    	for (int i = 1; i < fields.Length; i++)
        {
     
            print(((int)fields[i].GetValue(null)).ToString());
        }

【C#】C#获取枚举所有名称和值_第4张图片

你可能感兴趣的:(C#)