Synchronization of old projects
Part1
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
using System;
|
||||
#region 知识点二 在哪里声明枚举
|
||||
// 1.在namespace中声明枚举(常用)
|
||||
// 2.在class中声明枚举
|
||||
// 3.在struct中声明枚举
|
||||
// 注意:枚举不能在函数,方法中声明
|
||||
#endregion
|
||||
namespace 枚举
|
||||
{
|
||||
#region 知识点一 基本概念
|
||||
|
||||
#region 1枚举是什么
|
||||
//枚举是一个比较特别的存在
|
||||
//他是一个被命名的整形常量的集合
|
||||
//一般用它来表示 状态 类型 等等
|
||||
#endregion
|
||||
|
||||
#region 2声明枚举 和 声明枚举变量
|
||||
//注意:声明枚举 和 声明枚举变量 是两回事
|
||||
//声明枚举: 相当于是 闯将一个自定义的枚举类型
|
||||
//声明枚举变量: 使用声明的自行定义枚举类型 创建一个枚举变量
|
||||
#endregion
|
||||
|
||||
#region 3声明枚举语法
|
||||
// enum 枚举名
|
||||
// 一般来说,枚举名以E或E_开头,作为一种默认的规范
|
||||
//enum E_自定义枚举名
|
||||
//{
|
||||
// 自定义枚举项名字,// 这里是枚举中包裹的 整形常量 第一个默认值是0 下面会依次累加
|
||||
// 自定义枚举项名字1,// 1
|
||||
// 自定义枚举项名字2,// 2
|
||||
//}
|
||||
enum E_自定义枚举名
|
||||
{
|
||||
自定义枚举项名字 = 5,// 第一个默认值是5 下面会依次累加
|
||||
自定义枚举项名字1,// 这里会是6
|
||||
自定义枚举项名字2 = 100,// 改变默认值为100 下面还会依次累加
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
#region 知识点三 枚举的使用
|
||||
//例子-声明枚举变量
|
||||
E_PlayerType playerType = E_PlayerType.Hunter;
|
||||
|
||||
if(playerType == E_PlayerType.Warlock)
|
||||
{
|
||||
Console.WriteLine("玩家是术士");
|
||||
}
|
||||
else if (playerType == E_PlayerType.Titan)
|
||||
{
|
||||
Console.WriteLine("玩家是泰坦");
|
||||
}
|
||||
else if (playerType == E_PlayerType.Hunter)
|
||||
{
|
||||
Console.WriteLine("玩家是猎人");
|
||||
}
|
||||
//枚举和switch非常配合
|
||||
//甚至可以自动补全
|
||||
E_MonsterType monsterType = E_MonsterType.Boss;
|
||||
switch (monsterType)
|
||||
{
|
||||
case E_MonsterType.Normal:
|
||||
Console.WriteLine("普通怪物的功能");
|
||||
break;
|
||||
case E_MonsterType.Boss:
|
||||
Console.WriteLine("BOSS怪物的功能");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 知识点四 枚举的类型转换
|
||||
//1.枚举和int互转
|
||||
int i = (int)playerType;
|
||||
Console.WriteLine(i);
|
||||
//2.枚举和string互转
|
||||
string str = playerType.ToString();
|
||||
Console.WriteLine(str);
|
||||
|
||||
//3.字符串转枚举
|
||||
//(括号强转写目标枚举类型)Enum.Parse(typeof(同样目标枚举类型), "完全一致的字符串");
|
||||
playerType = (E_PlayerType)Enum.Parse(typeof(E_PlayerType), "Titan");
|
||||
Console.WriteLine(playerType);
|
||||
#endregion
|
||||
|
||||
#region 知识点五 枚举的作用
|
||||
//在游戏开发中,对象很多的时候,会有很多状态
|
||||
//比如玩家的动作状态,我们需要用变量或某种标识来表示玩家处于的是哪种状态
|
||||
//如果用int来表示状态,数字的含义就不明确了
|
||||
//如果用枚举来表示状态,枚举的名字就能清晰地表达出状态的含义
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
#region 例子-声明枚举
|
||||
enum E_MonsterType
|
||||
{
|
||||
Normal,
|
||||
Boss,
|
||||
}
|
||||
enum E_PlayerType
|
||||
{
|
||||
Titan,
|
||||
Warlock,
|
||||
Hunter,
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user