如何通过枚举中的某个常量使默认增量值
本文关键字:默认 常量 枚举 何通过 | 更新日期: 2023-09-27 18:20:16
如何使enum
变量在某个算术级数中递增?
例如:
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
现在,这些值将增加1。如何增加值让我们说再见2?类似于:
enum Days {Sat=2, Sun=4, Mon=6, Tue=8, Wed=10, Thu=12, Fri=14};
我必须为每个元素手动执行此操作吗?
是的,在实践中,您必须手动执行,但您真的需要这样做吗?
没有用FlagsAttribute
修饰的枚举不需要为每个成员分配特定的值,因为枚举的主要目的是在特定的一组项之间进行区分,而不必将这些项映射到特定的值。根据您需要数字的用途,使用枚举外部的映射解决方案很可能是更好的软件工程。
从理论上讲,您还可以使用T4模板以编程方式完成此操作;您可能会编写一些代码,从您自己的角度自动生成所需的源代码,但对于这样一个简单的场景来说,这太过分了。
我建议远离这种方法,因为数据是用枚举值存储的。相反,请保持枚举的简单性,并将其用于其设计目的:命名值的枚举。然后将数据存储在其他地方,使用解释器或中介器模式来动态访问和修改数据。一种方法是使用集合或字典,其中键是枚举值,值是数字。