C#基础篇

枚举

知识点一:基本概念

1.枚举是什么?

  • 枚举是一个比较特别的存在,他是一个被命名的整形常量的集合,一般用它来表示状态、类型等等

2.声明枚举和声明枚举变量

  • 注意:声明枚举和声明枚举变量是两个概念
  • 声明枚举:相当于是创建一个自定义的枚举类型
  • 声明枚举变量:使用声明的自定义枚举类型创建一个枚举变量

3.声明枚举的语法

//命名规范:通常是以"E"或者"E_"开头作为枚举变量的命名
        enum E_自定义枚举名
        {
            自定义枚举名,//枚举中包裹的整形常量,第一个默认值为0,下面的依次增加1
            自定义枚举名1,
            自定义枚举名2,
            自定义枚举名3,
        }

知识点二:枚举在哪里声明

  • 一般声明在namespace(命名空间)语句块中(常用)
  • 也可以声明在class(类)或者struct(结构体)语句块中(不常用)
  • 注意:枚举不能在函数语句块中声明,否则会报错

知识点三:枚举的使用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test
{
    enum E_Type
    {
        A,
        B,
        C
    }
    class Program
    {
        static void Main(string[] args)
        {
            //声明枚举变量
            E_Type type = E_Type.B;

            //枚举和switch是天生一对,编译器会给你自动补全
            switch (type)
            {
                case E_Type.A:
                    Console.WriteLine("处理A的逻辑");
                    break;
                case E_Type.B:
                    Console.WriteLine("处理B的逻辑");
                    break;
                case E_Type.C:
                    Console.WriteLine("处理C的逻辑");
                    break;
                default:
                    break;
            }
        }
    }
}

知识点四:枚举的类型转换

1.枚举和int相互转换
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test
{
 enum E_Type
 {
     A,
     B,
     C
 }
 class Program
 {
     static void Main(string[] args)
     {
         E_Type type = E_Type.A;
         int i = 1;
         //将枚举转换为整形
         i = (int)type;
         Console.WriteLine(i);//0

         //将整形转换为枚举
         //注意:整形必须是枚举值对应的整形
         i = 2;
         type = (E_Type)i;
         Console.WriteLine(type);//C

     }
 }
}

2.枚举和字符串之间的相互转换
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test
{
    enum E_Type
    {
        A,
        B,
        C
    }
    class Program
    {
        static void Main(string[] args)
        {
            E_Type type = E_Type.B;
            //将枚举转为字符串
            string str = type.ToString();
            Console.WriteLine(str);//B

            //将字符串转为枚举
            //注意:字符串必须是枚举值
            type = (E_Type)(Enum.Parse(typeof(E_Type), "A"));
            Console.WriteLine(type);//A

        }
    }
}

知识点五:枚举的作用

  • 在游戏开发中,对象很多的时候,会有许多的状态,比如玩家有一个动作状态,我们需要用一个变量或者标识来表示当前玩家处于的是哪种状态,综合考虑 可能会使用int来表示他的状态,1行走 2待机 3跑步 4跳跃…等等

  • 枚举可以帮助我们清晰的分清楚状态的含义

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值