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

开发 后端
本文我们将讨论的是C#枚举值出现逻辑错误的相关解决方案,起因是作者的一位同事的工作错误,希望对大家有所帮助。

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

1.枚举名可以是中文

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

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

  1. public enum Weekdays  
  2. {  
  3.     星期一,  
  4.     星期二,  
  5.     星期三,  
  6.     星期四,  
  7.     星期五  

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

  1. public enum Letter  
  2. {  
  3.     A,  
  4.     A,  
  5.     C,  
  6.     D,  
  7.     E  

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

2.枚举值可以相同

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

  1. public enum Letter  
  2. {  
  3.     A = 1,  
  4.     a = 1,  
  5.     B = 2,  
  6.     b = 2,  
  7.     C,  
  8.     D,  
  9.     E  

3.枚举的默认值

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

比如说枚举:

  1. public enum Letter  
  2. {  
  3.     A,  
  4.     B,  
  5.     C = -3,  
  6.     D,  
  7.     E  

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

4.遍历枚举。

  1. Array letterArray = Enum.GetValues(typeof(Letter));  
  2.  
  3. foreach (Letter item in letterArray)  
  4. {  
  5. Console.Write(item.ToString() + " = " + Convert.ToInt32(item).ToString() + ", ");  

原文标题:C#中的枚举值

链接:http://www.cnblogs.com/z119977662/archive/2010/08/02/1790667.html

【编辑推荐】

  1. C#枚举类型概念及应用浅析
  2. C#枚举类型实例演示
  3. C#枚举及C#枚举成员浅析
  4. C#枚举类型实例示范浅析
  5. C#枚举类型实例解析
责任编辑:彭凡 来源: 博客园
相关推荐

2009-08-26 18:17:26

C#基于Object解

2012-03-19 10:41:33

ibmdw

2009-08-10 19:03:23

C#读取Excel文件

2010-01-18 14:41:33

VB.NET抓取网页

2009-08-18 10:30:30

C#枚举

2010-09-10 11:15:34

DIV嵌套

2009-06-17 11:47:21

Hibernate 删

2010-06-12 12:46:04

Grub Rescue

2010-02-24 09:28:37

WCF安全配置

2021-10-19 05:54:58

C语言编程

2010-08-06 09:42:39

2022-11-21 17:46:09

2010-05-21 13:05:41

MySQL错误

2009-08-04 15:18:11

C# Actor

2010-02-26 15:46:48

Silverlight

2010-03-30 16:04:34

Linux Nginx

2010-02-05 10:16:35

C++断点无效

2010-05-04 09:34:18

Oracle em

2022-05-16 11:52:04

云安全CVE云安全漏洞

2010-01-22 15:42:01

VB.NET错误
点赞
收藏

51CTO技术栈公众号