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

     

  • 相关阅读:
    mysql关联取附表最后一条记录,附加lareval orm实现
    lumen 常用辅助函数
    Lumen Carbon 日期及时间处理包
    $_SERVER,IP,域名常用方法
    上传Docker镜像到阿里云
    connect() failed (111: Connection refused) while connecting to upstream, cli
    linux使用常见问题
    docker实用命名
    yii 常用orm
    Hibernate多对多映射(双向关联)实例详解——真
  • 原文地址:https://www.cnblogs.com/jietian331/p/3002510.html
Copyright © 2020-2023  润新知