[英]How to update Item Property from list?
我有一個名為mysoldier的通用列表,其項目具有高度,重量等屬性。因此,在添加士兵(mysoldier.Add)之后,我想更改士兵的身高。 為此,我使用了這個:
public void Increase Height()
{
for (int i = 0; i < mysoldier .Count; i++)
{
if (this.mysoldier [i].height > 7)
{
this.mysoldier [i].height= 7;
}
else
{
this.mysoldier [i].height+= 1;
}
}
但這並不僅僅是改變一個特定物體的高度,而是改變添加到容器中的所有士兵的高度。
public void IncreaseHeight(int i) //#, or mysoldier.Count - 1 (I believe) for last
{
if (this.mysoldier [i].height > 7)
{ this.mysoldier [i].height= 7; }
else { this.mysoldier [i].height+= 1; }
}
但是使用此代碼,我僅更改了先前創建的士兵的身高。 因此,請任何人都可以指出我代碼中的錯誤嗎?
一些技巧:
如果是列表,請不要將其稱為“ mySoldiers”,而應將其稱為“ mySoldiers”。 這會使您感到困惑。 您如何創建這些士兵? 因為...如果要創建然后通過循環添加,則要將引用(內存地址)添加到列表中。 如果您將某一項更改為一個,則全部更改。 如果只想更改一個特定項目的屬性,只需將索引作為參數傳遞給函數,而不要使用for語句。
如果問題仍然存在,請嘗試解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.