微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何定义包含整数作为值的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
}

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐