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

     

  • 相关阅读:
    日期正则表达式yyyyMMdd
    Markdown语法
    su: Authentication failure问题
    Git初始配置
    layui的layer.open()方法查看缩略图 原图缩放
    入驻博客园三年
    php学习笔记之动态生成一组单选button
    opencv直方图拉伸
    c++ 中const的使用
    LeetCode131:Palindrome Partitioning
  • 原文地址:https://www.cnblogs.com/jietian331/p/3002510.html
Copyright © 2011-2022 走看看