枚举的定义以及使用_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 枚举的定义以及使用

枚举的定义以及使用

 2013/8/30 21:09:18  将心向明月  博客园  我要评论(0)
  • 摘要:Enum关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型。默认情况下,第一个枚举数的值为0,后面每个枚举数的值依次递增1。eg:enumDays{Sat,Sun,Mon,Tue,Wed,Thu,Fri};Sat=>0,Sun=>1…当然也可以通过通过初始值来改变枚举的默认值eg:enumDays{Sat=1,Sun,Mon,Tue,Wed,Thu,Fri};enumDays{Sat,Sun,Mon,Tue,Wed,Thu,Fri};Sat=>1
  • 标签:使用 枚举

Enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型。

默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。

eg:

enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
Sat =>0,Sun=>1…

 

当然也可以通过通过初始值来改变枚举的默认值

eg:

 
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};

enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
Sat =>1,Sun=>2…
 

枚举类型有 byte、sbyte、short、ushort、int、uint、long 或 ulong。

也许上面的这些对每一个接触过编程的骚年都不陌生,小弟在此主要想分享下基于二进制定义的枚举。没代码说个JB,直接上代码

public enum MoneyLogEnum
    {
        /// <summary>
        /// 发帖成功
        /// </summary>
        SuccessPublish = 1,

        /// <summary>
        /// 帖子被置顶
        /// </summary>
        SetAnia = 2,

        /// <summary>
        /// 帖子被推荐
        /// </summary>
        Recommended = 4,

        /// <summary>
        /// 帖子被收藏
        /// </summary>
        Collected = 8,

        /// <summary>
        /// 回复被评为精彩回复
        /// </summary>
        GoodReply = 16,

        /// <summary>
        /// 帖子被网友加分
        /// </summary>
        AddPoints = 32,

        /// <summary>
        /// 扣除金币
        /// </summary>
        MinusPoint = 64
    }

依稀记得当时做项目时老大跟我说,一会我要给你讲个东西,可能你一下子不会明白,然后我就各种等他啊,就在想他会给我讲什么呢,后来才知道他就是要给我讲这个东西。小弟其实表达不是很好,也不知道要说些什么。

好吧我们为什么要这样做呢?当然不是闲的蛋疼,这么做的目的就是为了方便我们去数据库里查询数据

if (enumSum > 0)
            {
                strSql.Append(" and LogType & @LogType");
                MySqlParameter mySqlParameter = new MySqlParameter("@LogType", MySqlDbType.Int32) {Value = enumSum};
                parameters.Add(mySqlParameter);
            }

应该能看明白是什么意思吧。比如我们要查数据库中LogType为1和2的数据 我们只需给上述sql语句的参数传枚举值为1和2的和。

此外最近在做一个项目,经常要用到比如某个字段的状态,并且要在界面上显示成下拉框。这时如果将这个定义成枚举的话,将会非常方便,我们只需对这个枚举进行遍历并且绑定就可以了。

<select name="loginType" id="loginType">
                @foreach (int code in Enum.GetValues(typeof (MoneyLogEnum)))
                {
                    <option value="@code">@Enum.GetName(typeof(MoneyLogEnum),code)</option>
                }
  </select>

 

好了先这么多吧,第一次发,各位大大轻喷,如果您觉得对您有帮助,您的鼓励是小弟坚持的动力。class="wlEmoticon wlEmoticon-openmouthedsmile" alt="大笑" src="/Upload/Images/2013083021/C6E02898B4709E99.png">

发表评论
用户名: 匿名