首页 > 编程 > C# > 正文

通过一个错误认识一下枚举类型

2023-05-09 18:58:20
字体:
来源:转载
供稿:网友

项目中,一同事定义了个枚举,而我在根据此枚举做判断的时候,出了一些逻辑性的错误。导致错误的原因是C#中对枚举值的自增、不唯一的问题,然后通过实际的代码,测试了枚举的一些特性。

1.枚举名可以是中文。枚举的类名必须跟其他类的类名命名规则一样,而枚举的名字可以是中文,但是不能相同。

可以定义下面这样的枚举。

public enum Weekdays{    星期一,    星期二,    星期三,    星期四,    星期五}

但下面这样的定义是不允许的。

public enum Letter{    A,    A,    C,    D,    E}

编译器会给出这样的提示:类型“Letter”已经包含“A”的定义。

2.枚举值可以相同。

可以定义下面这样的枚举。

public enum Letter{    A = 1,    a = 1,    B = 2,    b = 2,    C,    D,    E}

3.枚举的默认值。

在不写明枚举值的情况下,其值为上一枚举值加1,若其为第一个则从0开始。

比如说枚举:

public enum Letter{    A,    B,    C = -3,    D,    E}

各枚举值为:A = 0,B = 1,C = -3,D = -2,E = -1。

4.遍历枚举。

Array letterArray = Enum.GetValues(typeof(Letter));foreach (Letter item in letterArray){    Console.Write(item.ToString() + " = " + Convert.ToInt32(item).ToString() + ", ");}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表