我想從數組中刪除一個對象,並填充相同類型的對象,但與所有屬性爲0的插槽。但是,當我這樣做時,值重新計算數組值時出於某種原因不清除。如何正確替換數組中的對象C#
下面是我如何清除對象並在其位置插入空白對象。
public void clearOutBox(int arraySlot)
{
itemsInbuildArray.Remove(itemsArray[arraySlot]);
itemsInbuildArray.Insert(arraySlot, blank);
itemInBuildPictureArray[arraySlot].ImageLocation = null;
statCalculation();
}
//one of the lines from the statCalculation method.
statsHealth.Text = (Convert.ToString(itemsInbuildArray.Sum(hp => hp.Health)));
public partial class Form1 : Form
{
List<Item> itemsArray = new List<Item>();
List<PictureBox> itemInBuildPictureArray = new List<PictureBox>();
List<ToolTip> itemInBuildTooltipArray = new List<ToolTip>();
List<Item> itemsInbuildArray = new List<Item>();
Item blank = new Item(); // this is one of several objects created here
}
我初始化它這些空白的項目6陣列,也沒有問題,只需更換一個空白項與值,但刪除它是什麼造成了我的問題。
請原諒,我正在做這件事的可能性很高,我只是啓動C#並將此項目作爲一種學習體驗。任何輸入是讚賞!
爲什麼不只是'itemsInbuildArray [arraySlot] = blank'? –
這個「空白」對象來自哪裏(代碼中的第4行),以及如何創建它? – Svilen
您需要提供更多信息 - 您似乎有3個像對象一樣的數組 - 其中至少有一個itemsInbuildArray實際上是ArrayList而不是Array。 – iandotkelly