Dev*_*per 14 .net c# generics generic-list
可能重复:
如何在C#中克隆通用列表?
List<MyObject> a1 = new List<MyObject>();
var new1 = a1;
Run Code Online (Sandbox Code Playgroud)
现在,如果我改变,a1那么new1也将改变.
所以我的问题是如何正确克隆a1?
aqw*_*ert 34
这不会Clone列表中的每个项目,但会创建一个新列表
var new1 = new List<MyObject>(a1);
Run Code Online (Sandbox Code Playgroud)
如果要克隆每个项目的列表,你可以实现ICloneable在MyObject
var new1 = new List<MyObject>(a1.Select(x => x.Clone()));
Run Code Online (Sandbox Code Playgroud)
编辑:为了使它更清楚,两者都会将列表中的元素复制a1到新列表中.您只需要决定是否要有新MyObject的或保留原件.如果你想要克隆,MyObject你将需要一种克隆它们的方法,这通常是通过ICloneable.
| 归档时间: |
|
| 查看次数: |
63038 次 |
| 最近记录: |