.NET中的枚举用法浅析

(编辑:jimmy 日期: 2025/7/3 浏览:2)

本文简单分析了.NET中的枚举用法。分享给大家供大家参考。具体分析如下:

我理解的枚举就是编程中约定的一个“可选值”;例如QQ的在线状态,分别有    在线,Q我吧,隐身,忙碌等等。。。我觉得这就是一个枚举。

1.普通枚举

1) 实例
复制代码 代码如下:public enum UserState
{
 QMe,
 OnLine,
 OffLine     //后面省略
}

ps:像上边的枚举,可以单独写在一个CS文件中。

2)普通枚举的性质

1. 互斥性

2. 每一个值都有一个数值来表示

3. 枚举在编译时,就已经用数值来表示了。

3)字符串转换成枚举
复制代码 代码如下:(UserState)Enum.Parse(typeof(UserState),"Red") ;

4)枚举转换成数值、字符串
复制代码 代码如下:(int)myColor.Red;
myColor.Red.ToString();

2.标识枚举

但一个事物具有多个属性时,普通枚举就不够用了。

普通枚举是互斥的,标识而枚举是可以组合的。

1)定义

复制代码 代码如下://使用以后结果是Tostring()的,而不是数字的。

public enum GoodMan
{
   高=1,
   富=2,
   帅=4     //这里必须是2的N次方,切不能重复。
}

2)状态组合(或运算)
复制代码 代码如下:GoodMan winter = GoodMan.高| GoodMan.富| GoodMan.帅;

3)判定winter中是否具有某个枚举值(与运算)
复制代码 代码如下:if(winter&GoodMan.高==GoodMan.高)

希望本文所述对大家的.net程序设计有所帮助。

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。