Files
Csharp/C#进阶/Lesson4_Hashtable练习题/Program.cs
T

71 lines
1.7 KiB
C#
Raw Normal View History

2025-10-11 19:30:38 +08:00
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);
}
}
}