using System; using System.Collections; using System.Security.Cryptography.X509Certificates; using System.Threading; namespace Lesson4_Hashtable练习题 { //因为一般管理器都是唯一的,所以做成单例模式的对象 class MonsterMgr { private static MonsterMgr instance = new MonsterMgr(); private Hashtable monstersTable = new Hashtable(); private MonsterMgr() { } public static MonsterMgr Instance { get { return instance; } } private int monsterID = 0; public void AddMonster() { Monster monster = new Monster(monsterID); Console.WriteLine("创建了怪物"+monsterID); monsterID++; monstersTable.Add(monster.id, monster); } public void DeleteMonster(int monsterID) { if (monstersTable.ContainsKey(monsterID)) { (monstersTable[monsterID] as Monster).Dead(); monstersTable.Remove(monsterID); } } } class Monster { public int id; public Monster(int id) { this.id = id; } public void Dead() { Console.WriteLine("怪物"+id+"死亡"); } } class Program { static void Main(string[] args) { MonsterMgr.Instance.AddMonster(); MonsterMgr.Instance.AddMonster(); MonsterMgr.Instance.AddMonster(); MonsterMgr.Instance.AddMonster(); MonsterMgr.Instance.AddMonster(); MonsterMgr.Instance.DeleteMonster(0); MonsterMgr.Instance.DeleteMonster(3); } } }