【发布时间】:2025-12-22 11:40:06
【问题描述】:
我需要知道如何深度克隆List <Business> 对象。我尝试了以下方法:
List< Business> owner = bus.Select(m => new Business{
Businessname= m.Businessname,
Locations= m.Locations,
}).ToList();
我从owner 对象中删除了一个对象(Locations - Locations 是一个List <Country>)。我预计bus 对象在我克隆它时不会发生任何变化,如上面的代码所示。
但是,对象Locations 也已从bus 对象中删除。谁能告诉我如何解决这个问题?
【问题讨论】:
-
Locations= m.Locations,,这绝不是一个克隆,这只是一个参考分配。如果要克隆,则需要执行m.Locations.Select(l => new Country { ... }).ToList()之类的操作 -
我收到一个错误。在
owner对象中还有一些Locations是null。因此,当它尝试克隆Country时会遇到错误。我怎样才能防止这种情况发生?帮助 -
@SiavashGhanbari 您是否阅读了上面分享的内容。它是在 Python 而不是 C# 中。
-
那是我的错,我删除了标记和评论@sharonHwk
-
这方面有什么帮助吗?
标签: c# list collections clone