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


  • 相关阅读:
    web应用后台开发的故事
    XML的定义、用途、以及它的发展前景和存在的问题等等
    本学期(大三下学期)学习目标
    企业级应用与互联网应用的区别?
    新能源汽车无线充电管理网站4
    新能源汽车无线充电管理网站3
    新能源汽车无线充电管理网站2
    企业级应用与互联网应用的区别
    javaee 新学期新目标
    团队项目PCP--自我评价
  • 原文地址:https://www.cnblogs.com/tao-zi/p/3832578.html
Copyright © 2011-2022 走看看