本章讲解如下枚举的如下几个知识点:
1、什么是枚举?
2、枚举是值类型还是引用类型?
3、如何定义枚举?
4、枚举的好处?
5、枚举在实际系统开发过程中的用处?
一、什么是枚举
枚举:用来存放一组固定的常量
它是用来解决用户进行多次if /switch重复简单的判断
二、枚举是值类型还是引用类型?
枚举是值类型
三、如何定义枚举?
定义枚举的语法非常简单,如下:
枚举的语法
{
}
要记得枚举的关键字是 enum
四、枚举的好处?
1、便于用户回忆以前的资料
2、便于少输入代码,使程序更容易编写和维护。
3、防止用户乱输入
五、枚举在实际系统开发过程中的用处?
我举一个仿QQ换肤的简单方法来做一个试验,代码如下,请分析结果会是什么?

我们来看一看,这样的代码确实有点不能让人接受,原因:
1、结果错误,通过客户端传入一个字符串来进行判断,容易出错
2、使用了多个if.. else if ..else if....语句块,
基本上是在做同一件判断的事情
3、如果这个程序拿给一个新手来做,那这个新员工来进行开发,那这个员工的记忆力要非常的好,
不然一个字符输出就有可能得不到想要的结果.....
那如何解决这种多次使用if/switch等简单语句判断呢?这时候枚举就出马了,代码如下:

在用户调用的时候,系统会有提示,如图:

使用枚举的好处,再次强调:
1、便于用户回忆以前的资料
2、便于少输入代码,使程序更容易编写和维护。
3、防止用户乱输入
那如何把字符串转换为枚举类型?
如何把枚举添加到下拉菜单中?
这两个问题,在下一章将会进行讲解.
本章将介绍以下几点:
1、如何把其它类型转换为枚举类型?
2、如何把枚举中的值添加到下拉菜单中?
一、如何把其它类型转换为枚举类型?
我们回顾一下有关字符串与数字之间的转换,如:
string strValue="12";
int value=int.Parse(strValue); //使用int.Parse()就可以把字符串转换为整数
那把字符串转换成枚举类型相对于要复一些,语法如下:
Enum.Parse(枚举的类型,要转换的值);
实际应用:
现在有一个枚举
![]() | 现有一个字符串:string strValue="QQ2001"; 使用枚举转换语句:Enum.Parse(枚举的类型,要转换的值); Enum.Parse(typeof(QQSkipEnum) , strValue); 以上的结果是一个object类型,所以还需要强转一下,
使用该枚举来接收,如下: QQSkipEnum qprase= (QQSkipEnum)Enum.Parse(typeof(QQSkipEnum) , strValue); 这样就把字符串转换成枚举类型成功,以上的代码相对于复杂一点, 但在实际的开发过程当中,是必不可少的,所以务必要记住
|
| 注意:在把字符串转换为枚举过程中,该字符串必须在枚举中是存在此值的,如果该值不存在, 系统就会提示错误
如: string strValue="qq2001"; 转换的时候: QQSkipEnum qprase= (QQSkipEnum)Enum.Parse(typeof(QQSkipEnum) , strValue); 这样是不行的,因为在枚举中没有 "qq2001"的定义,只有大写的“QQ2001” | |
二、如何把枚举中的值添加到下拉菜单中
因为枚举是一组固定的常量,所以可以使用枚举中的自带方法,把这些常量转换为字符串数组,
然后再添加到下拉菜单中。
语法如下:
string[] qqSkip= Enum.GetNames(枚举类型); //该方法返回的是字符串数组
以下是效果图:

//把枚举填充到下拉菜单中
private void btnLoad_Click(object sender, EventArgs e)
{
cboQQVersion.Items.Clear(); //先清空下拉菜单中的记录
//使用Enum.GetNames()方法,得到枚举中的值,返回的是一个字符串数组
string[] qqSkip = Enum.GetNames(typeof(QQSkipEnum));
//循环遍历数组,然后添加到下拉菜单中
foreach (string qq in qqSkip)
{
cboQQVersion.Items.Add(qq);
}
}
//把字符串转换为枚举
private void btnConvert_Click(object sender, EventArgs e)
{
QQSkipEnum qqEnum = (QQSkipEnum)Enum.Parse(typeof(QQSkipEnum), txtValue.Text);
MessageBox.Show("转换成功");
}
本文详细介绍了枚举类型的定义、特点及应用,包括枚举的基本概念、定义方式、好处及其在实际开发中的作用,并演示了如何将字符串转换为枚举类型以及如何将枚举值添加到下拉菜单中。


7万+

被折叠的 条评论
为什么被折叠?



