C# 枚举(Enum)
枚举是一个有命名的常数
枚举类型 是 用于声明一组命名的常数 的 基本数据类型(值类型)
声明枚举的一般语法:
enum <enum_name> { enumeration list };
指定枚举的类型名称。 是一个用逗号分隔的标识符列表
枚举列表中的每个符号代表一个整数值,一个比它前面的符号大的整数值。默认情况下,第一个枚举符号的值是 0.例如:
enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat };
所有枚举类型都隐式地继承System.Enum类型,System.Enum类型是继承自System.ValueType类型唯一不为值类型的引用类型。
---------------------------------
C# 标记枚举(Flags)
枚举类型 是 用于声明一组命名的常数 的 基本数据类型(值类型)。对比枚举值是互斥的。
标记枚举和枚举比较就是在定义前面声明一个[Flags]
使用方法
var permission = Permission.Create | Permission.Read | Permission.Update | Permission.Delete
就例如这一句话,| 符号是拼接标记枚举
permission = permission & ~Permission.Update;
&~表示去掉permission 中的Update这个枚举
所以说&~是表示去除某个枚举
var isCreate = (permission & Permission.Create) != 0; //或者
var isCreate =(permission & Permission.Create)== Permission.Create
这两句话表示的是测试permission 中是否存在某个枚举,&是关键字,如果没有就返回0,所以说在标记枚举中常数0要慎重使用
------------------------------------------------------------------------
这些是在我们商场项目中常用的一些状态枚举
无效状态 Invalid = 0,
客户询价 CustomerQuery = 1,
客户落单 CustomerOrdered = 2,
客户付款 ReceiverCustomerPayment = 4,
向供货商订货 SupplierOrdered = 8,
供货商确认货期 SupplierOrderTerm = 16,
收到货品 RecieverGoods = 32,
客户取消订单 CustomerCanceled = 64,
供货商取消订单 SupplierCancelded = 128
----------------调错按键
F5开始调试,跳到下一个断点
F10逐行调试
F11逐语句调试,可以跳到方法内部
Shift+F11跳出方法体
F8浏览器开始调试
这是我们常用的一些调错按键