我正在设计一个需要“位置”字段的应用程序。该位置的值为“3241”,“4112”,“ND”和“TRAVEL”,我正在尝试设置一个包含这些值的枚举
。
我首先开始了
enum projectLocation {3241,4112,ND,TRAVEL};
但是3241和4112的值表示语法错误——需要标识符
——对于enum
中第一个值。如果我正确理解了enum
,那么这是因为上述语句正在寻找enum
整数索引的值3241
和4112
。这个假设是正确的吗?
我尝试使用以下方法覆盖它。
enum projectLocation {3241=0,4112,ND,TRAVEL};
并且
enum projectLocation {3241=0,4112=1,ND=2,TRAVEL=3};
但是我仍然在3241
值上得到相同的语法错误。有趣的是,在这两个语句中,4112没有语法错误,但是我得到了找不到名称空间或名称ND
和...TRAVEL
。
很明显,enum
不允许混合字符串和整数,我有另外两个enum
,它们只是字符串值列表,并且工作正常,证实了这个理论。是否有一种方法可以强制enum
将数字值作为字符串接受?我在MSDN的C#文档中没有找到任何参考。