C# 向列表中对象的成员字段添加值<;T>;同指数

C# 向列表中对象的成员字段添加值<;T>;同指数,c#,C#,我有一个名为MHP的对象类型集合。MHP有多个成员字段(名称、AC、Par_ID等)。 我创建一个列表 private List<MHP> mhpList = new List<MHP>(); public List<MHP> MHPList { get { return mhpList; } set { mhpList = value; } } 现在我想用一个值填充剩下的字段,我通过创建一个新对象来实现,但这显然会将该值放在集合的一个新索引中 mhpLis

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

private List<MHP> mhpList = new List<MHP>();
public List<MHP> MHPList
{ get { return mhpList; } set { mhpList = value; } }
现在我想用一个值填充剩下的字段,我通过创建一个新对象来实现,但这显然会将该值放在集合的一个新索引中

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

mhpList[1]MHP_Name=null,MHP_AC=null,MHP_ParID='something'

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

mhpList.AddRange(新列表)


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

只需使用其索引访问该项:

mhpList = new List<MHP>();

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

mhpList[0].MHP_ParId= "Something";
mhpList=newlist();
MHP列表添加(新MHP
{
MHP_Name=某物,
MHP_AC=一个数字
});
mhpList[0].MHP_ParId=“某物”;
更详细地说,您应该使用MHP对象的方法,而不是列表的方法。列表只知道其中有一些MHP对象。列表可以做的是:

  • 将MHP添加到列表中
  • 从列表中删除MHP
  • 从列表中获取MHP
如果要更改特定MHP中的字段,则与列表无关,而与MHP对象有关。获取对象,然后修改它。然后,如果它是一个引用对象(类),那么就完成了。如果是值对象(struct),则必须将其重新添加到列表中,如:

MHP obj = mhpList[0];
obj.MHP_ParID = something;
mhpList[0] = obj;

不清楚你想做什么。您有mhpList和MHP对象,这些对象具有名称和AC。是否要设置Par_ID?还是怎样您想在什么条件下设置该id?您的第三个代码块看起来根本不像C?您知道索引吗?或者使用其他方法唯一标识列表中的元素?显然,像
Add
AddRange
这样的函数将向列表中添加新元素。但是您可以从列表中检索元素并对其进行修改。以什么方式不起作用?这段代码中的大部分都无法编译。准确地向我们展示你正在做什么,以及结果与你预期的不同之处。目前,很难理解您的要求。我应用了applogize,但最后两部分不是代码,我缩进了它们以使其更可读。谢谢,我会尝试的。
mhpList[0].MHP_ParID = something;
MHP obj = mhpList[0];
obj.MHP_ParID = something;
mhpList[0] = obj;