克隆C#中的列表
可能重复:
如何在C#中克隆通用列表?
嘿,我一直在尝试克隆一个列表,到目前为止,我发现函数addRange但我很确定它不克隆列表中的对象,但做一个浅的副本列表我想知道如何克隆列表谢谢提前。
要克隆列表,必须克隆每个项目。 如果存在项类的Clone()的有用实现,这是一个使用LINQ的单行:
List lstCloned = lstOriginal.Select(i => i.Clone()).ToList();
AddRange,更一般地说,对list中包含的对象的所有操作都只克隆对这些对象的引用。 要自己克隆对象,您应该在对象级别自己处理副本。
你是什么意思“克隆名单”? 克隆对象? 您可以在每个对象上显式实现它(例如,通过实现ICloneable接口),或使用Reflection进行一般实现。
寻找“ICloneable”,“深度克隆”或“深层复制”以了解有关获得预期结果的不同方法的更多信息。
您需要解析列表并为每个项目创建一个新对象,然后新项目将其添加到新列表中。