我注意到在c#中有一个列表方法: CopyTo - >复制到数组,是否有更好的方法来复制到新列表?问题是,我想通过值检索列表,以便能够在显示它们之前删除项目,我不希望修改原始列表,这似乎也不容易实现,任何想法?
答案 0 :(得分:31)
List<MyType> copy = new List<MyType>(original);
答案 1 :(得分:3)
我希望按值检索列表,以便在显示项目之前删除项目,
var newlist = oldList.Where(<specify condition here>).ToList();
答案 2 :(得分:1)
如果您使用的是.NET 3.5,则生成的数组可以在其上调用ToList()。
答案 3 :(得分:1)
只需创建一个新的List
并使用相应的构造函数:
IList<Obj> newList = new List<Obj>(oldList);
答案 4 :(得分:1)
我认为这会奏效。将列表传递给新列表的构造函数。
List<string> list1 = new List<string>();
List<string> list2 = new List<string>(list1);
答案 5 :(得分:0)
您是否尝试过克隆(克隆())每个项目并将克隆添加到新集合中?
答案 6 :(得分:0)
似乎您有参考文献列表,即列表
List<Object> list2 = new List<Object>(list1);
不起作用。
这应该可以解决您的问题: