C#枚举总结

 

一,什么是枚举?

枚举是一种独特的值类型,用于声明一组具有相同性质的常量.

二,为什么要使用枚举?

方便编程,使程序清晰易懂,编程应尽量避免出现”魔鬼数字”而多用枚举.

三,枚举的声明与使用

public enum LoginEnum

    {

        LoginSucceed,

        UserNameNotExists,

        PasswordError

}

 

LoginEnum le = LoginEnum.LoginSucceed;

四,枚举的特点

  1. 一般枚举中每个值都是互斥的;
  2. 枚举中的每个值都有一个对应的数值来表示,默认此数据类型为整型int,从0开始,依次递增;
  3. 可手动设置每个枚举对应的整数,如:

public enum LoginEnum

    {

        LoginSucceed,

        UserNameNotExists=100,

        PasswordError

    }

  4. 默认枚举是用int来替代的,也可指定其他具体的数据类型,如:

public enum LoginEnum:byte

    {

        LoginSucceed,

        UserNameNotExists,

        PasswordError

    }

 

五,枚举与字符串的转换

  1. 枚举->字符串:

用ToString(),如

LoginEnum le = LoginEnum.LoginSucceed;

string str=le.ToString();

 

  2. 字符串->枚举:

使用场景:已知此枚举名,不想遍历就取出此枚举。

如:

LoginEnum le = (LoginEnum)Enum.Parse(typeof(LoginEnum), "LoginSucceed");

六,标志枚举

  1. 声明方法,加[Flags]关键字,如

[Flags]

    public enum GoodPeopleEnum

    {

        white=1,  //0000 0001

        rich = 2,  //0000 0010

        beautiful4,  //0000 0100

        high = 8,  //0000 1000

        handsome = 16  //0001 0000

    }

  2. 标志枚举不互斥,可组合,如

GoodPeopleEnum gpe = GoodPeopleEnum.beautiful | GoodPeopleEnum.white;

  3. 验证一枚举中是否有GoodPeopleEnum.white这一项,可以

bool isExist = ((gpe & GoodPeopleEnum.white) == GoodPeopleEnum.white);

 

 

posted @ 2013-04-06 15:55  孤独の巡礼  阅读(221)  评论(0编辑  收藏  举报