.net枚举Enum类型说明
嗯,今天下午为了进行一个枚举的类型,搞了半天都没有懂,然后,GOOGLE啊,BAIDU啊,翻了一页又一页,分析了好多的源代码,终于搞定了一些,先自己作一个记号,嘿嘿。
在.net里面 enum有2个,一个是小写的 enum,还有一个是类 Enum,两者是不同的,一般我们声明一个自己的枚举的时候,都是用
enum MyEnum
{
Pan1=0,
Pan2=2,
Pan3=1,
Pan4=Pan1
}
然后,在程序中就可以直接使用了,也可以用声明来做,如
MyEnum enumEx=MyEnum.Pan1;
其中enumEx是枚举中的一个值,tostring得到的就是 Pan1,而通过转移得到的就是 0
这样就可以进行判断了。比方说,我有一个用户状态
enum UserState
{
Online=0,
Busy=1,
Logout=2
}
然后,可以使用 UserState userState=UserState.Online;并通过 (int)userState 转化为其中代表的int值写入到SQL里面,
再然后,从SQL里面得到用户状态是一个数值int类,如 intUserState=1,如何把它转化为我们的UserState里面的枚举呢?其实方法很简单,需要乃至Enum类里面的静态方法,GetName
如 UserState userSate=Enum.GetName(typeof(UserState),Convert.ToInt32(dr.GetString("UserState")));
这样就可以了,呵呵。