【发布时间】:2020-01-18 09:08:35
【问题描述】:
当我在循环后在bCPList 中添加一个对象时,所有记录都与最后插入的对象相同。为什么会发生这种情况,我该如何解决?
public List<Entity.BCPToolkitWorkplace> Load_work_Place(List<BCPToolkitWorkplace> bCPToolkit)
{
Entity.BCPToolkitWorkplace bCP = new Entity.BCPToolkitWorkplace();
List< Entity.BCPToolkitWorkplace> bCPList = new List<Entity.BCPToolkitWorkplace>();
foreach (var item in bCPToolkit)
{
bCP.txn_type = item.txn_type;
bCP.workplace_id = item.workplace_id;
bCP.workplace_name = item.workplace_name;
bCP.workplace_number = item.workplace_number;
bCPList.Add(bCP);
}
return bCPList;
}
【问题讨论】:
-
请具体说明:哪种语言:Java? C#?这当然不是关于两者
-
在foreach循环内添加对象的创建。现在您正在更改同一个对象并一遍又一遍地将其添加到列表中。但由于它是一个参考,因此场景后面只有 1 个对象需要您不断更改。
-
引用类型绝对合乎逻辑。
标签: c# list object reference-type