0

我有一个名为 MHP 的类型对象集合。MHP 有多个成员字段(名称、AC、Par_ID 等)。我创建了一个列表;

private List<MHP> mhpList = new List<MHP>();
public List<MHP> MHPList
{ get { return mhpList; } set { mhpList = value; } }

我通过创建一个新对象在 for 循环中用值填充部分字段:

mhpList.Add(new MHP
{
 MHP_Name = something,
 MHP_AC = a number
}); 

现在我想用一个值填充剩余的字段,我通过创建一个新对象来做到这一点,但这显然将值放在集合的新索引中;

mhpList[0] MHP_Name = 'Something',MHP_AC = '#',MHP_ParId = null。

mhpList[1] MHP_Name = null, MHP_AC = null, MHP_ParID = 'something'</p>

我尝试创建一个新列表并向该列表添加一个新对象,然后使用以下内容将新列表添加到 mhpList:

mhpList.AddRange(newList)

以及 mhp.InsertRange,但每次都会在集合中添加对象的新索引。如何向集合的 SAME 索引中的未填充字段添加值?

4

2 回答 2

2

只需使用它的索引访问该项目:

mhpList = new List<MHP>();

mhpList.Add(new MHP
{
 MHP_Name = something,
 MHP_AC = a number
});

mhpList[0].MHP_ParId= "Something";
于 2013-08-07T13:18:44.467 回答
0
mhpList[0].MHP_ParID = something;

更详细地说,您应该使用 MHP 对象的方法,而不是 List 的方法。所有列表都知道其中有一些 MHP 对象。列表可以做的是:

  • 将 MHP 添加到列表中
  • 从列表中删除 MHP
  • 从列表中获取 MHP

如果要更改特定 MHP 中的字段,则与列表无关,而与 MHP 对象有关。您获取对象,然后对其进行修改。然后,如果它是一个参考对象(类),你就完成了。如果它是一个值对象(结构),则必须将其重新添加到列表中,例如:

MHP obj = mhpList[0];
obj.MHP_ParID = something;
mhpList[0] = obj;
于 2013-08-07T13:19:13.613 回答