如何定义包含整数作为值的C#枚举?

我正在设计一个需要“位置”字段的应用程序.该位置的值是“3241”,“4112”,“ND”和“TRAVEL”,我正在尝试设置包含这些值的枚举.

我开始了

enum projectLocation {3241,4112,ND,TRAVEL};

但值3241和4112表示枚举中第一个值的语法错误 – 预期的标识符.如果我正确理解枚举,那是因为上面的语句正在寻找枚举的整数indeces为3241和4112的值.这是正确的假设吗?

我尝试用以下内容覆盖它

enum projectLocation {3241=0,TRAVEL};

enum projectLocation {3241=0,4112=1,ND=2,TRAVEL=3};

但我仍然在3241值上得到相同的语法错误.有趣的是,在这两个语句中,4112上没有语法错误,但我找不到命名空间或名称ND和… TRAVEL

有意义的是,枚举不允许混合使用字符串和整数,并且我有两个其他枚举工作正常并且只是字符串值的列表,证实了这个理论.有没有办法强制枚举接受数值作为字符串?我无法在MSDNs C#文档中找到任何引用.

解决方法

枚举被称为命名常量,所以基本上你给一些常量命名.名称是c#中的“标识符”,其中标识符可以包含数字,但第一个字符不能是数字.

您可以在此之前添加_以修复此错误.

enum projectLocation 
{
    _3241=0,_4112=1,TRAVEL=3
}

另请注意字段,属性方法或上述此标识符规则下的任何内容.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...