C# 用C语言克隆列表#
可能重复:C# 用C语言克隆列表#,c#,list,clone,C#,List,Clone,可能重复: 嘿,我一直在尝试克隆一个列表,到目前为止,我找到了这个函数 addRange,但我很确定它不会克隆列表中的对象,而是对列表进行浅层复制,我想知道如何克隆列表 提前感谢。您需要解析列表并为每个项目创建一个新对象,然后新项目将其添加到新列表。您需要解析列表并为每个项目创建一个新对象,然后新项目将其添加到新列表。要克隆列表,必须克隆每个单独的项目。如果存在用于item类的Clone()的有用实现,则这是一个使用LINQ的单行程序: List<MyType> lstCloned
嘿,我一直在尝试克隆一个列表,到目前为止,我找到了这个函数 addRange,但我很确定它不会克隆列表中的对象,而是对列表进行浅层复制,我想知道如何克隆列表
提前感谢。您需要解析列表并为每个项目创建一个新对象,然后新项目将其添加到新列表。您需要解析列表并为每个项目创建一个新对象,然后新项目将其添加到新列表。要克隆列表,必须克隆每个单独的项目。如果存在用于item类的Clone()的有用实现,则这是一个使用LINQ的单行程序:
List<MyType> lstCloned = lstOriginal.Select(i => i.Clone()).ToList();
List lstCloned=lstroiginal.Select(i=>i.Clone()).ToList();
要克隆列表,必须克隆每个单独的项目。如果存在用于item类的Clone()的有用实现,则这是一个使用LINQ的单行程序:
List<MyType> lstCloned = lstOriginal.Select(i => i.Clone()).ToList();
List lstCloned=lstroiginal.Select(i=>i.Clone()).ToList();
AddRange,更一般地说,对列表中包含的对象的所有操作只克隆对这些对象的引用。要克隆对象本身,应在对象级别本身处理副本
“克隆列表”是什么意思?克隆对象?您可以在每个对象上显式地实现它(例如通过实现IClonable接口),或者使用反射进行一般实现
查找“ICloneable”、“deep cloning”或“deep copy”,了解获得预期结果的不同方法的更多信息。AddRange,更一般地说,列表中包含的对象上的所有操作仅克隆对这些对象的引用。要克隆对象本身,应在对象级别本身处理副本 “克隆列表”是什么意思?克隆对象?您可以在每个对象上显式地实现它(例如通过实现IClonable接口),或者使用反射进行一般实现 查找“iClonable”、“deep cloning”或“deep copy”,了解获得预期结果的不同方法的更多信息。请参阅