1.枚举
枚举类型是自定义类型,
enum EquipType{Weapon, //武器Armor, //护甲Shoes, //鞋子Ring=5, //戒指Necklace //项链 ->值为6}
枚举是一个值类型,枚举值可以标记一个整形数字予以匹配,默认从0开始。可以显示转换位数字或者文字
int a=(int)Weapon 结果位0
Enum或EquipType 变量名=(EquipType)0; 结果是武器
2.结构体
结构体是自定义类型
struct Equip{public EquipType type; //装备类型public string name; //装备名字public string des; //装备描述public int hp; //血量public int atk; //攻击力public int speed; //速度//构造函数public Equip(EquipType type, string name, string des, int hp, int atk, int speed, int crit, int dodge,int bmoney){this.type = type;this.name = name;this.des = des;this.hp = hp;this.atk = atk;this.speed = speed;}};
声明结构体内容以及构造函数
ps:构造函数可以通过快速操作一键创建
3.枚举和结构结合应用
static void Log(string text){Console.WriteLine(text);Thread.Sleep(1000); //程序休眠,单位毫秒 1000=1s}//装备结构体static Equip Weapons; //武器结构体static Equip Armor; //护甲结构体static Equip Shoes; //鞋子结构体static void EquipItem(Equip equip){switch (equip.type){case EquipType.Weapon:Log(name + \"装备了武器:\" + equip.name + \",攻击力+\" + equip.atk);weapon_atk = equip.atk;Weapons = equip;break;case EquipType.Armor:Log(name + \"装备了护甲:\" + equip.name + \",生命值+\" + equip.hp);armor_hp = equip.hp;Armor = equip;break;case EquipType.Shoes:Log(name + \"装备了鞋子:\" + equip.name + \",速度+\" + equip.speed);shoes_speed = equip.speed;shoes = equip;break;}}//应用EquipItem(new Equip(EquipType.Weapon, \"长剑\", \"新人必备\", 0, 10, 0));