添加Lesson4

This commit is contained in:
2025-10-11 19:30:38 +08:00
parent 6c30ef5c27
commit 6cc1b0d4f9
5 changed files with 211 additions and 0 deletions
@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
@@ -0,0 +1,70 @@
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);
}
}
}