how to copy a list to a new list, or retrieve list

2020-03-01 04:13发布

问题:

I noticed in c# there is a method for Lists: CopyTo -> that copies to arrays, is there a nicer way to copy to a new list? problem is, I want to retrieve the list by value to be able to remove items before displaying them, i dont want the original list to be modified, that too doesnt seem to be easily attainable, any ideas?

回答1:

List<MyType> copy = new List<MyType>(original);


回答2:

I want to retrieve the list by value to be able to remove items before displaying them,

var newlist = oldList.Where(<specify condition here>).ToList();


回答3:

If you are using .NET 3.5, the resulting array can have ToList() called on it.



回答4:

Just create a new List and use the appropriate constructor:

IList<Obj> newList = new List<Obj>(oldList);


回答5:

I think this will work. Passing a list to the constructor of a new list.

    List<string> list1 = new List<string>();
    List<string> list2 = new List<string>(list1);


回答6:

Have you tried Cloning (Clone()) each item and adding the clone to a new collection?