我有这个枚举
enum Items { pen = 5, watch = 4, rubber = 1, ruler = 8};
我希望将watch(现在是4)的值更改为6.所以像这样:
Items.watch = 6;
但这不起作用。有什么想法吗?
答案 0 :(得分:7)
枚举的值在编译时是固定的。根据{{3}}:
enum关键字用于声明枚举,这是一个由称为枚举器列表的一组命名常量组成的不同类型。
注意术语“常量”。如果要更改枚举条目的整数值,则必须重新编译代码。
答案 1 :(得分:2)
无法更改枚举常量的数值,因为它们是常量。
您可以通过设置字典将单独的值与枚举相关联,但这不会更改枚举常量本身的值:
AssociatedValue[Items.watch] = 6
现在你可以设置
AssociatedValue[enumVal]
但是当您需要整数值时,必须使用(int)enumVal
代替{{1}}。