为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 网络编程 > 其它综合 正文

第八章 枚举

三叶资源网 2022-11-20 19:18:50 其它综合 208 ℃ 0 评论

第八章 枚举

【定义】

一类相关的标志符组合起来形成的整体,枚举实质上是整型数据。使用enum关键字修饰。

【枚举变量声明方式】

1、先声明枚举类型, 后声明枚举变量

enum 枚举类型名{
?
   枚举成员变量1,
?
   枚举成员变量2,
?
   ……
?
};

eg:

// #region << 版 本 注 释 >>
// /*----------------------------------------------------------------
// // Copyright (C) 2019 极客部落
// // 版权所有。 
// //
// // 文件名:Program.cs
// // 文件功能描述:
// //
// // 
// // 创建者:GeekTribe
// // 时间:14:05
// //----------------------------------------------------------------*/
// #endregion
using System;
?
namespace MSN
{
    enum Week
    {
        SUN,
        MON,
        TUES,
        WED,
        THURS,
        FRI,
        SAT
    };
?
    class MainClass
    {
        public static void Main(string[] args)
        {
            Week week;
        }
    }
}

【特性】

1、枚举的实质是整型变量, 其取值范围是整数取值范围的一个子集。

2、枚举成员数值默认从0开始, 依次递增1,若枚举成员被初始化,则从当前枚举成员开始, 后面所有成员数值将在当前枚举成员数值的基础上依次递增1。

3、枚举变量定义位置可放置在所有函数体之外,也可放置在函数体内。

4、枚举成员变量之间使用【,】隔开, 最后一个枚举成员变量后可省略,不写, 枚举结构定义完成后,需在最后的大括号后使用 ; 结束。

5、枚举成员变量取值范围是其对应的所有枚举成员。

eg:

// #region << 版 本 注 释 >>
// /*----------------------------------------------------------------
// // Copyright (C) 2019 极客部落
// // 版权所有。 
// //
// // 文件名:Program.cs
// // 文件功能描述:
// //
// // 
// // 创建者:GeekTribe
// // 时间:14:05
// //----------------------------------------------------------------*/
// #endregion
using System;
?
namespace MSN
{
    /************* 枚举 *************/
    //周状态枚举
    enum Week
    {
        SUN = 1,
        MON,
        TUES = 10,
        WED,
        THURS,
        FRI,
        SAT
    };
?
    //任务状态枚举
    enum TaskState
    {
        NONE,
        PROCESSING,
        SUCCESSFULLY,
        FAILED,
    };
?
    //英雄状态枚举
    enum HeroState
    {
        IDLE,
        WALK,
        RUN,
        ATTACK,
        DEFEND,
        DIE,
    };
?
    class MainClass
    {
        //枚举作为函数形参
       static void JudegTaskState(TaskState task_state){
            switch (task_state) {
                case TaskState.PROCESSING:
                    Console.WriteLine("Task is proccessing!\n");
                    break;
            
                case TaskState.SUCCESSFULLY:
                    Console.WriteLine("Task is Done!\n");
                    break;
            
                case TaskState.FAILED:
                    Console.WriteLine("Task is failed!\n");
                    break;
            
                default:
                    Console.WriteLine("Sorry, You can fire me!\n");
                    break;
            }
        }
?
        public static void Main(string[] args){
            TaskState task_state;
            task_state = TaskState.PROCESSING;
     
            JudegTaskState(task_state);
?
            HeroState heroState = HeroState.IDLE;
                Console.WriteLine("HeroState = {0}\n", heroState);
?
        }
    }
}

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
TCP服务器强行兼容高DPIUIudp协议键盘敲音乐自绘滚动条游民星空高效数据结构支持库多线程注册龙珠直播采集易语言5.8FTP服务器腾讯关键词检测快速排序格式化json文本link配置器手游登录ICMP微信群发
最新评论