2009-11-24 33 views
15

我注意到在c#中有一個列表方法: CopyTo - >複製到數組,有沒有更好的方法來複制到新的清單?問題是,我想通過值檢索列表,以便能夠在顯示它們之前移除項目,我不希望原始列表被修改,這似乎也不容易實現,任何想法?如何將列表複製到新列表或按值檢索列表#

回答

26
List<MyType> copy = new List<MyType>(original); 
+0

在列表中修改的元素(不添加或刪除)仍然會同時影響名單... – Zoop

0

您是否試過克隆(克隆())每個項目並將克隆添加到新的集合?

0

如果您使用的是.NET 3.5,則所得到的數組可以調用ToList()。

1

只需創建一個新的List並使用適當的構造函數:

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

我認爲這會工作。將列表傳遞給新列表的構造函數。

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

我要檢索的值列表,以便能夠顯示它們之前刪除的項目,

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