我偶然发现了一个代码,我的同事最近修改了现有的枚举,并在最后一个枚举之前添加了另一个枚举,我猜他可能已经这样做了,因为最后一个枚举是None(我们不在同一个时区讨论).
我担心的是,如果解决方案中的任何代码试图获取None Enum的整数值(幸运的是我无法找到它,但是将来某些代码会尝试做什么),那么这可能会产生错误的结果.
这不安全吗?
请多点亮一点.
更新: 在其中一个问题中,我读到@Marc Gravell提到插入中间是危险的,我是否理解正确?请参阅/sf/answers/890123041/
在enum列表中的任何位置添加新值都没有问题,因为当enum重新编译新的代码时,编译器会为所有值计算出正确的序数.
如果旧的实例enum持久存在于数据库中,则会出现问题.在这种情况下,显式分配值将是一个更好的选择,因为重新编译不会更改存储的值,并且在检索时会转换为不正确的值.