在开头创建一个带数字的枚举

时间:2016-08-09 08:13:14

标签: c# enums

我有以下内容:

public enum Size
{
    XXS,
    XS,
    S,
    M,
    L,
    XL,
    1XL, 
    2XL, 
    3XL, 
    4XL, 
    5XL, 
    6XL
}

枚举是针对数据库的,我需要它以这种格式(nvarchar)进入数据库,我还没有创建这个数据库表。

  

错误30类型或命名空间定义,或期望的文件结尾

我知道这是因为开头有一个数字,除了做一个转换语句之外还有什么呢?

更新:

这适用于Google Feed,他们需要提供如下价值,这不是我们的命名惯例

3 个答案:

答案 0 :(得分:3)

C#标识符名称不能以数字开头。如何将数字渲染为单词? XL,TwoXL,ThreeXL,FourXL等?

答案 1 :(得分:1)

您无法定义以digit开头的标识符名称,第一个字符必须是字母或下划线。这里您试图覆盖定义标识符的基本规则。让我再次提醒你一些规则:

  • 标识符是字母,数字和下划线的序列。
  • 第一个字符必须是字母或下划线
  • 关键字不能用作标识符,因为它是由语言编译器保留的。

您可能的声明:

以下划线开头

public enum Size
{
    _XXS,           
    _1XL,
}

使用单词代替数字

public enum Size
{
    _XXS,           
    oneXL,
}

答案 2 :(得分:0)

看看这里,也许您可​​以使用DataAnnotations解决此问题。看到这个解决方案 How to get the Display Name Attribute of an Enum member via MVC razor code?