项目中,一同事定义了个枚举,而我在根据此枚举做判断的时候,出了一些逻辑性的错误。导致错误的原因是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() + ", ");
- }
原文标题:C#中的枚举值
链接:http://www.cnblogs.com/z119977662/archive/2010/08/02/1790667.html
【编辑推荐】