簡體   English   中英

如何從列表更新項目屬性?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM