为什么很多人都这样做:
public enum EmployeeRole { None = 0,Manager = 1,Admin = 2,Operator = 3 }
而不只是做:@H_301_5@
public enum EmployeeRole { None,Manager,Admin,Operator }
有优势吗?@H_301_5@
解决方法
Are there advantages?@H_301_5@
可维护性.假设这些整数值最终持久存储在数据库中.您不希望将来向枚举添加新值,并且值会更改,因为您以改变未指定值的方式插入值.@H_301_5@
明晰.显性是一件好事.让我们再说一遍,我们从一些遗留应用程序中读取数据库中的整数.因此代码已经具有特定含义,我们希望明确地与它们对齐.我们可以说@H_301_5@
public enum EmployeeRole { None,Operator }
也许这与传统规范完全一致,或者我们可以说@H_301_5@
public enum EmployeeRole { None = 0,Operator = 3 }
现在更容易阅读我们是否与传统规范对齐.@H_301_5@