本章讲解如下枚举的如下几个知识点:
1、什么是枚举?
2、枚举是值类型还是引用类型?
3、如何定义枚举?
4、枚举的好处?
5、枚举在实际系统开发过程中的用处?
一、什么是枚举
枚举:用来存放一组固定的常量
它是用来解决用户进行多次if /switch重复简单的判断
二、枚举是值类型还是引用类型?
枚举是值类型
三、如何定义枚举?
定义枚举的语法非常简单,如下:
public enum 枚举名 { } 枚举的定义1,如下: public enum ColorEnum { 红色, //注意,系统会默认给它赋值为0 蓝色, //系统赋值为1 黑色, //系统赋值为2 粉红色 //系统赋值为3 } 枚举的定义方式2,如下: public enum ColorEnum { 红色=2, //用户自己赋值 所以枚举是一组 符号名称/值 配对 蓝色, // 系统赋值为3 黑色=2, //用户自己赋值2 粉红色 //系统赋值为3 } 所以可以看出,系统会自己给没有赋值的常量赋值, 但赋值的方式是按照上一个的值+1来进行操作的 1、 如下枚举的结果正确的是( ) public enum MyColor { 红色=1, 蓝色=2, 黑色=1, 白色 } 程序输出: Console.WriteLine( (int)MyColor.白色 ); A、1 B、2 C、3 D、程序编译错误 2、 如下枚举的结果正确的是( ) public enum MyColor { 红色=1, 蓝色=2, 红色=3, 白色 } 程序输出: Console.WriteLine( (int)MyColor.红色 ); A、1 B、2 C、3 D、程序编译错误 提示:枚举中等号左边的值不能重复.
要记得枚举的关键字是 enum
四、枚举的好处?
1、便于用户回忆以前的资料
2、便于少输入代码,使程序更容易编写和维护。
3、防止用户乱输入
五、枚举在实际系统开发过程中的用处?
我举一个仿QQ换肤的简单方法来做一个试验,代码如下,请分析结果会是什么?
我们来看一看,这样的代码确实有点不能让人接受,原因:
1、结果错误,通过客户端传入一个字符串来进行判断,容易出错
2、使用了多个if.. else if ..else if....语句块,
基本上是在做同一件判断的事情
3、如果这个程序拿给一个新手来做,那这个新员工来进行开发,那这个员工的记忆力要非常的好,
不然一个字符输出就有可能得不到想要的结果.....
那如何解决这种多次使用if/switch等简单语句判断呢?这时候枚举就出马了,代码如下:
在用户调用的时候,系统会有提示,如图:
使用枚举的好处,再次强调:
1、便于用户回忆以前的资料
2、便于少输入代码,使程序更容易编写和维护。
3、防止用户乱输入
那如何把字符串转换为枚举类型?
如何把枚举添加到下拉菜单中?
这两个问题,在下一章将会进行讲解.