c# - 在添加到列表之前更新对象
问题描述
在将它们添加到列表之前,我对更新对象有一些问题。例如,当我有一个对象并且我从相同和更新中lst
获得另一个对象时,已经添加到列表中的对象也会被更新。看起来他们有相同的地址,但如何?_context
id
param
有人可以解决我的问题吗?
List<Item> lst = new List<Item>();
foreach (Item currItemB in itemsB)
{
Item newItem = new Item();
newItem = await _context.Item.Where(x => x.id == currItemB.id).FirstOrDefaultAsync();
newItem.param = currItemB.param;
lst.Add(newItem);
}
解决方案
您实际上并没有创建对象的副本。您只是使用另一个指向同一地址的指针。为了使代码运行,您应该从“项目”创建一个副本。在“Item”类中创建一个克隆函数。请参阅在 C# 中克隆对象的 5 种方法
推荐阅读
- javascript - javascript中带有if语句的对象实例的简单循环
- python - python中的计数集位不适用于大数
- node.js - 如何解构这种嵌套对象?
- javascript - 在 Python Selenium 上查找元素 - 短一个元素
- python - 处理来自用户的错误 API 请求
- java - Deque AddFront 导致junit错误
- java - If my recursive method return true, why it enters a recursive call?
- asp.net-core - 如何使用 ASP.Net Core 3、SPA 应用程序对无效的 api 请求返回错误
- java - 如何编写多正则表达式行?
- javascript - 如何调用函数作为参数,我试过这个不起作用?