• C#_枚举类型


    

    C#中的枚举是名/值对的数据类型,下面是自定义的军衔等级的枚举

    //定义枚举
                enum MilitaryRank
                {
                    Commander,
                    ArmyCorpCommander,
                    MilitaryDivisionLevelCommander,
                    RegimentalCommand 
    
                }


    MilitaryRank 枚举定义了4个命名常用,这些常量都对应一些离散值,默认情况下第一个元素值为0,其他元素按n+1递推。我们也可以改变默认的初始值,比如下面的

    enum MilitaryRank
                {
                    Commander=10, //赋予默认值
                    ArmyCorpCommander, //自动取得默认值11
                    MilitaryDivisionLevelCommander,//自动取得默认值12
                    RegimentalCommand  //自动取得默认值13
    
                }

    当然枚举不是必须要求赋予初始值和值连续

    控制存储类型

    默认情况下,保存枚举值的是int类型,可以通过形如下的方式来改变枚举存储类型

    enum MilitaryRank:byte

    这样把MilitaryRank的实际存储设置成了byte类型,可以把枚举当作函数的返回值、方法参数、本地变量等

    把枚举当作函数参数

    static void Dispatch(MilitaryRank D)
            {
                switch(D)
                {
                    case MilitaryRank.Commander:
                        Console.WriteLine("派遣司令");
                        break;
                    case MilitaryRank.ArmyCorpCommander:
                        Console.WriteLine("派遣军长");
                        break;
                    case MilitaryRank.MilitaryDivisionLevelCommander:
                        Console.WriteLine("派遣师长");
                        break;
                    case MilitaryRank.RegimentalCommand:
                        Console.WriteLine("派遣团长");
                        break;
                    default: Console.WriteLine("无人派遣");
                        break;
                }
            }

    在为枚举类型赋值的时候,必须以枚举名来设置值,并且枚举类型中没有定义的值是非法的

    System.Enum类型

    所有.Net枚举类型都继承自System.Enum。拥有它的很多有用功能,比如

    返回枚举类型值得数据类型

    Console.WriteLine("保存枚举类型值得数据类型是:{0}", Enum.GetUnderlyingType(Send.GetType()));


    返回当前枚举值得字符串名

    Console.WriteLine("当前枚举值得字符串名{0}", Send.ToString());


  • 相关阅读:
    实现垂直居中
    三栏布局(双飞翼布局和圣杯布局)
    JavaScript执行机制
    使用vue-cil搭建项目
    格式化上下文formatting contexts
    定位体系(定位机制)
    CSS盒子模型
    可视化格式模型(visual formatting model)
    CSS布局开篇
    Linux之vi三种模式常用操作
  • 原文地址:https://www.cnblogs.com/tao-zi/p/3832578.html
Copyright © 2020-2023  润新知