C# 基础语法-枚举

文章介绍了C#中的枚举(enum)的使用,包括什么是枚举、如何声明枚举和枚举变量、枚举的声明语法、在哪里声明枚举,以及枚举在实际应用中的作用,如在游戏开发中表示对象状态。此外,还详细讲解了枚举与int和string之间的类型转换方法。
摘要由CSDN通过智能技术生成

using System;
 
namespace lesson1_枚举
{
    enum E_MonsterType
    {
        Normal,//0
        Boos,//1
    }
    enum E_PlayerType
    {
        main,
        other,
    }
 
    #region 基本概念
 
    #region 1.枚举是什么
    //枚举是一个特别的存在
    //它是一个被命名的整形常量的集合
    //一般用它来表示 状态 类型 等等
    #endregion
 
    #region 2.申明枚举 和 申明枚举变量
    //注意 申明枚举 和申明枚举变量 是两个概念
    //申明枚举:    相当于是 创建一个自定义的枚举类型
    //申明枚举变量:使用申明的自定义枚举类型 创建一个枚举变量
    #endregion
 
    #region 3.申明枚举语法
    //enum E_自定义枚举名
    //{
    //    自定义枚举项名字,//枚举中包裹的 整形常量 第一个默认值是0 下面会一次累加
    //    自定义枚举项名字1,
    //    自定义枚举项名字2,
 
    //}
 
    //enum E_自定义枚举名
    //{
    //    自定义枚举项名字 =5,//5
    //    自定义枚举项名字1,//6
    //    自定义枚举项名字2,//7
 
    //}
 
 
    #endregion
 
    #endregion
 
    #region 在哪里申明枚举
    //1.namespace语句块中(常用)
    //2.class语句块中 struct语句块中
    //注意:枚举不能在函数语句块中声明!!!
    #endregion
 
    class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("枚举");
            #region 枚举的使用
            //申明枚举变量
            //自定义枚举类型 变量名 = 默认值;(自定义的枚举类型.枚举项)
            E_PlayerType playerType = E_PlayerType.main;
 
            if (playerType == E_PlayerType.main)
            {
                Console.WriteLine("主玩家逻辑");
            }
            else if (playerType == E_PlayerType.other)
            {
                Console.WriteLine("其他玩家逻辑");
            }
 
            //枚举 和 switch 天生一对
 
            E_MonsterType monsterType = E_MonsterType.Boos;
            switch (monsterType)
            {
                case E_MonsterType.Normal:
                    //Console.WriteLine("普通怪物逻辑");
                    //break;
                case E_MonsterType.Boos:
                    Console.WriteLine("Boss逻辑");
                    break;
                default:
                    break;
            }
 
            #endregion
 
            #region 枚举的类型转换
            //1.枚举和int互转
            int i = (int)playerType;
            Console.WriteLine(i);
            //int转枚举
            playerType = 0;
 
            //2.枚举和string互转
            string str = playerType.ToString();
            Console.WriteLine(str);
 
            //把string转成枚举
            //Parse后 第一个参数:你要转为的是哪个 枚举类型 第二个参数:用于转换的对应枚举项的字符串
            //转换完毕后 是一个通用的类型 我们需要用括号强转成我们想要的目标枚举类型
            playerType = (E_PlayerType)Enum.Parse(typeof(E_PlayerType),"other");
            Console.WriteLine(playerType);
 
            #endregion
            
            #region 枚举的作用
            //在游戏开发中,对象很多时候 会有许多的状态
           //比如玩家 有一个动作状态 我们需要用一个变量或者标识 来表示当前玩家处于的是哪种状态
            //综合考虑 可能会使用 int 来表示他的状态
            //1 行走 2 待机 3 跑步 4 跳跃  等等
            //枚举可以帮助我们 清晰的分清楚状态的含义
 
            #endregion
 
        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值