首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从列表中更新项目属性?

如何从列表中更新项目属性?
EN

Stack Overflow用户
提问于 2016-04-15 16:57:58
回答 1查看 54关注 0票数 0

我有一个通用的列表,它的项目有像身高,体重等属性。所以在添加士兵(mysoldier.Add)之后,我想改变士兵的高度。为此,我使用了以下代码:

代码语言:javascript
运行
复制
 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; 
   } 
  } 

但这并不是只改变一个特定物体的高度,而是改变添加到容器中的所有士兵的高度。

代码语言:javascript
运行
复制
  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; }
  }

但是在这段代码中,我只改变了之前创建的士兵的身高。所以,请任何人能告诉我代码中的错误在哪里?

EN

回答 1

Stack Overflow用户

发布于 2016-04-15 17:45:50

一些小贴士:

如果它是一个列表,不要叫它"mySoldier",而要叫它"mySoldiers“。这可能会让你感到困惑。你是如何创造这些士兵的?因为..。如果您正在创建,然后通过循环添加相同的内容,则是将引用(内存地址)添加到列表中。如果您在其中更改了某些内容,则会在所有这些内容中进行更改。如果您只想更改某个特定项的属性,只需将索引作为参数传递给您的函数,而不是使用for语句。

如果你仍然有这个问题,让我们试着解决它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36642643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档