如何将列表复制到新列表,或者按c#中的值检索列表

时间:2009-11-24 23:14:08

标签: c# asp.net class list

我注意到在c#中有一个列表方法: CopyTo - >复制到数组,是否有更好的方法来复制到新列表?问题是,我想通过值检索列表,以便能够在显示它们之前删除项目,我不希望修改原始列表,这似乎也不容易实现,任何想法?

7 个答案:

答案 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);

不起作用。

这应该可以解决您的问题:

How do I clone a generic list in C#?