zoukankan      html  css  js  c++  java
  • 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);

     

  • 相关阅读:
    LeetCode 183. Customers Who Never Order (从不订购的客户)
    LeetCode 182. Duplicate Emails (查找重复的电子邮箱)
    LeetCode 181. Employees Earning More Than Their Managers (超过经理收入的员工)
    LeetCode 176. Second Highest Salary (第二高的薪水)
    CMake Tutorial
    osx c++连接mysql
    为mysql 表重新设置自增的主键id
    更改pandas dataframe 列的顺序
    会场安排问题
    nlpir分词器过期处理
  • 原文地址:https://www.cnblogs.com/jietian331/p/3002510.html
Copyright © 2011-2022 走看看