C# 枚举(Enum ) 应用总结

摘要:
1.枚举定义通常,枚举字段常量可以是汉字、英文,但不能是数字。

1. 枚举定义

普通情况下,枚举字段常数可以是汉字,英文,但不能是数字。当不指定值时,默认值从0开始,如下:待处理=0,审核中=1

 public enumStatus
    {        
        待处理,
        审核中,
        交易终止,
        交易完成
    }

当需要自定义值时则直接在后面赋值即可

 public enumStatus
    {        
        待处理 = 0,
        审核中 = 10,
        交易终止 = 20,
        交易完成 = 99
    }

定义枚举Description

public enumStatus
    {
        [Description("未审核")]
        Untreated = 0,
        [Description("审核中")]
        Process = 10,
        [Description("交易终止")]
        Cancel = 20,
        [Description("交易完成")]
        Over= 99}

2.枚举取值

通过枚举类型,常量名称取key

Status.待处理

通过枚举类型,和key,获指定的常量名称

Type type = typeof(Status);
String enumName =  Enum.GetName(type, key); 

通过枚举类型,和key,获指枚举Description

 public static string GetEnumDescription(Type enumType, intkey)
        {
            FieldInfo EnumInfo =enumType.GetField(Enum.GetName(enumType, key));
            DescriptionAttribute[] attributes = (DescriptionAttribute[])EnumInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
            if (attributes.Length > 0)
            {
                return attributes[0].Description;
            }
            returnGetEnumText(enumType, key.ToString());
        }

免责声明:文章转载自《C# 枚举(Enum ) 应用总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【实践】Windows7下安装配置SubVersionC# Json处理相关下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#枚举(一)使用总结以及扩展类分享

0.介绍 枚举是一组命名常量,其基础类型为任意整型。 如果没有显式声明基础类型, 则为Int32 在实际开发过程中,枚举的使用可以让代码更加清晰且优雅。 最近在对枚举的使用进行了一些总结与整理,也发现了一些很有意思的知识盲区。 接下来先简单为大家介绍枚举在开发过程中的常用内容以及扩展类的分享。如果喜欢直接看代码的可以查看最后的样例源码。 1. 参考资料 官...

枚举和宏的区别

枚举: 枚举是一种变量类型,枚举基本等效于int类型,占用同样的空间,同样的数值范围,但是枚举通常都是表示常数变量,对枚举变量做一些算术计算通常是编译器不允许的,但是可以加上强制类型转换,本来不在枚举符表里面的值也可以大摇大摆的登堂入室,枚举符表甚至允许数值相等。在没有赋值的引用中,只会是int范围内的垃圾数值,根本就不会是枚举符表中的数值。对于默认的情况...

protobuf编译

win10   cmake   vs2017编译 protobuf编译 cmake Selecting Windows SDK version 10.0.17134.0 to target Windows 10.0.19042. The C compiler identification is MSVC 19.15.26732.1 The CXX com...

USB开发笔记

USB方向: 由于主机是唯一主控者,因此OUT是主机到设备,IN是设备到主机,FX2的术语采用这个约定     USB设备枚举: 每个USB设备内部都有一个设备描述表,表中包含了设备全部要求和特性。USB设备插入主机后,主机会执行认证程序(设备枚举) ① 使用预设地址0取得设备描述符 ② 设定设备新地址 ③ 使用新地址取得设备描述符 ④ 取得...

iOS-@inerface的11条规范写法

总结一些interface声明时的规范,相关宏的介绍,定义方法时有用的修饰符,编写注释的规范,最终写出一个合格的头文件。 1.读写权限 1.1实例变量的@public,@protected,@private关键字 1.2属性的readonly,readwrite关键字 2.前向声明 3.只暴露必要的接口和实现 3.1不要暴露任何只在类内部使用的...

C# 获取枚举 Enum 变量值的 Description 属性

在C#中如何读取枚举值的描述属性? 在C#中,有时候我们需要读取枚举值的描述属性,也就是说这个枚举值代表了什么意思。比如本文中枚举值 Chinese ,我们希望知道它代表意思的说明(即“中文”)。 有下面的枚举: 1 2 3 4 5 6 public enum EnumLanugage {     [System.ComponentMode...