---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

黑马程序员--学习笔记--枚举以及将字符串转换为枚举

Posted on 2012-11-13 17:58  xiulan  阅读(586)  评论(0)    收藏  举报

一、枚举的理论知识

(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)

        {2012-11-13

            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();

        }

    }

}

 

 

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima/