关于C#:匿名与定义的枚举

Anonymous vs Defined Enums

本问题已经有最佳答案,请猛点这里访问。

虽然我在Java中有Enums的经验,但是TyPulf和Objto-C/C风格的枚举对我来说是新的。我似乎无法理解开头声明的枚举和未声明的枚举之间的区别。例如:

1
2
typedef enum Months {JAN, FEB, MAR, APR}
    Months;

VS

1
2
typedef enum {JAN, FEB, MAR, APR}
    Months;

有没有理由选择前者而不是后者?前者似乎是多余的,说了两次"月"。

这个问题看起来很相似,但结尾没有名字,所以我不知道它是否回答同一个问题。


一般情况下

1
2
3
4
5
typedef enum <tagname 1>
{
//values

}<tagname2>;

用于定义更清晰的枚举内容。

只是一个包含typedef enum 全部引用的引用名。

编译器支持这两种变体