A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邢秀兰 中级黑马   /  2012-12-17 11:58  /  1053 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、枚举的理论知识
(1)定义枚举的关键字和其在程序中的位置
enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型。通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它。但是,还可以将枚举嵌套在类或结构中。
(2)枚举的作用
    A、限制用户不能随意赋值,只能定义枚举时列举的值中选择
    B、不需要死记每一个值是什么,只需选择相应的值
(3)枚举的定义格式以及其默认值
默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。例如,下面的枚举,Sat 是 0,Sun 是 1,Mon 是 2 等.
enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
又例如,定义性别常量
enum gender{男,女}
即知道枚举的定义是 (关键字enum 自己定义的枚举类型名称 {值1,值2,值3,….值n})
(4)枚举默认值的改变
如下面的示例所示枚举数可用初始值来重写默认值。
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
(5)枚举数据类型的转换
从 enum 类型到整型的转换需要用显式类型转换来完成。例如,下面的语句使用强制转换(从 enum 转换为 int)将枚举数 Sun 赋值给一个 int 类型的变量。
int x = (int)Days.Sun;
二、枚举在程序中
//枚举值的输出
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 枚举
{
    enum geder
    {
        男,
        女
    }
    class Program
    {
        static void Main(string[] args)
        {
            geder sex = geder.男;
            Console.WriteLine(sex);
            Console.ReadKey();
            
        }
    }
}
//枚举定义值得默认值得的输出

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 枚举
{
    enum geder
    {
        男,
        女
    }
    class Program
    {
        static void Main(string[] args)
        {
  //注意:定义枚举时,值不能是int类型,枚举类型的变量都可以强制转换成一个int类型,枚举的值在定义时是有一个默认编号的,编号从0开始,下面的就是这个例子
            geder sex = geder.男;
            Console.WriteLine((int)sex);
            Console.ReadKey();

        }
    }
}
三、字符串转换为枚举
固定的公式:(自己定义的枚举类型名称)(Enum.Parse(typeof(自己定义的枚举类型名称),“待转换的字符串”))
在程序中的运用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 把字符串转换成枚举类型
{
    class Program
    {
        enum gender
        {
            男,
            女
        }
        static void Main(string[] args)
        {

            try
            {
                gender sex;

                Console.WriteLine("请输入你的性别");
                string s = Console.ReadLine();
                sex = (gender)(Enum.Parse(typeof(gender), s));

                Console.WriteLine("你输入的性别为:" + sex);
            }
            catch
            {
                Console.WriteLine("你输入的性别有误!");
            }

            Console.ReadKey();
        }
    }
}
枚举在swich中
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 枚举在swich中
{
    class Program
    {   enum gender
       {
        男,
        女
       }
        static void Main(string[] args)
        {
            gender sex = gender.男;
            switch (sex)
            {
                case gender.男:
                    Console.WriteLine("男性");
                    break;
                case gender.女:
                    Console.WriteLine("女性");
                    break;
            }
            Console.ReadKey();
        }
    }
}











评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马