【发布时间】:2015-11-29 01:18:01
【问题描述】:
我不知道我正在尝试做的事情是否可以在 C# 中执行,并且我无法在网上找到答案。我有 4 个敌方物体。其中一人死亡。我希望将那个敌人从阵列中移除。如果敌人在阵列中间,我希望下一个敌人占据它的位置,这样阵列中间就没有空位。这是代码(我写“//remove here”的地方是我想要删除对象的地方):
public static int numberOfEnemies = random.Next(1, 4);
// create 1-4 enemies
public static Enemy[] enemyNumber = new Enemy[numberOfEnemies];
// initialize enemies
int h = 0;
do
{
enemyNumber[h] = new Enemy(playerLevel);
h++;
System.Threading.Thread.Sleep(25);
} while (h != numberOfEnemies);
// code where the fight happens i did not include
// enemy dies
if (enemyNumber[0].Ehealth <= 0){
{
Console.WriteLine("Enemy {0} is dead!", eName);
// remove here
}
}
【问题讨论】:
-
你绝对需要使用数组吗?如果没有,为什么不使用敌人列表呢? :)
-
使用列表代替数组。它有一个方法
Remove(YourClass object),可以简单地从列表中删除您的对象。如果您知道对象的索引等,您也可以使用RemoveAt(int index)。 (here's some example