技术开发 频道

C#枚举值出现逻辑错误的相关解决方案

        【IT168 技术文档】项目中,一同事定义了个枚举,而我在根据此枚举做判断的时候,出了一些逻辑性的错误。导致错误的原因是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() + ", ");
  }
0
相关文章