C#中的枚举

枚举是一种基本数据类型而不是构造类型,它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。

是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内.

namespace _01枚举
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.普通枚举中的额每个值都是互斥的
            //2.枚举中的每个值都有一个对应数值来表示
            //2.1.默认数值是整形int,从0开始,一次递增
            //2.2.可以手动设置每个枚举对应的整数,设置后向后自动递增
            //3.枚举在编译完成后就已经用对应的数值常量来表示了。
            
            Console.WriteLine((int)UserState.OnLine);
            Console.WriteLine((int)UserState.OffLine);
            Console.WriteLine((int)UserState.Busy);
            Console.WriteLine((int)UserState.Hide);
            Console.WriteLine(UserState.QMe);
           //将枚举转换成字符串
            string str = UserState.OnLine.ToString();
            Console.WriteLine(str);
            //把字符串转换成枚举类型
            String meiju = "QMe";
            UserState state = (UserState)Enum.Parse(typeof(UserState), meiju);
            Console.WriteLine((int)state);
            Console.WriteLine(state);
            Console.ReadKey();
        }
    }
    //默认枚举都是使用int来替代的,但是也可以指定具体的数据类型。例如:byte
    //枚举:byte表示,限制了枚举中的数字类型
    //类型除了 char  其他的都可以
    public enum UserState:byte
    {
        //一般枚举中的每个值都是互斥的
        QMe,
        OnLine=222,
        OffLine,
        Busy=234,
        Hide
    }
}

 

posted @ 2013-12-21 14:12  thatday  阅读(679)  评论(0编辑  收藏  举报