---------------------- <a href="http://edu.youkuaiyun.com"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.youkuaiyun.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
1、枚举的的定义和声名
定义:是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内.
作用:方便和规范咱们程序员进行开发。比如说两个人共同来开发一个学生管理系统,需要定义一个string变量来表示性别这个字段,一个人使用了 string gender = “man"来 表示性别男,而另一个人使用了gender = "男"来表示性别男,这样就容易造成混乱。使用了枚举之后只能取到枚举中限定的值,就避免了这种混乱。
语法:
[public] enum 枚举名
{
值1,
值2,
值3,
值4,
.....
}
枚举名使用的是Pascal命名规则。也就是说每个单词的首字母都要大写。
public enum Gender
{
男,
女
}
Gender gender = Gender.男; //枚举变量的赋值
这就是一个简单的枚举变量,取值的时候只能取“男”或者“女”。
你可以命名空间下的任何地方声明一个枚举类型,只是访问的权限会有所改变。我们一般在类的同级声明枚举类型,这样在命名空间下任何地方都可以访问到这个枚举变量。
2、枚举类型与int类型、string类型之间的类型转换
public enum QQState//声明一个枚举变量
{
OnLine,
OffLine,
Leave,
Busy,
QMe
}
class Program
{
static void Main(string[] args)
{
QQState s1 = QQState.OnLine;
int n1 = (int)s1;//可以直接将枚举类型强制转换成int
Console.WriteLine(n1);
int n = 1;
QQState s = (QQState)n;//也可以将int型变量直接强转成enum型变量
onsole.WriteLine(s);
QQState s = QQState.OnLine;
Console.WriteLine(s.ToString());//直接调用.ToString()方法即可将枚举型转换成string类型。
string str = "0";
QQState state = (QQState)Enum.Parse(typeof(QQState), str);//string类型转enum是比较麻烦的一种转换了。
Console.WriteLine(state);
Console.ReadKey();
}
}
enum类型的转换其实也是挺简单。
好了,今天就总结道这里吧。使用枚举类型的好处需要大家在实际应用当中慢慢去体会。