回答
Foreach幾乎是最簡單的方法,如果有的話,性能開銷最小。
這又如何? BindingList list2 = new BindingList(list1.toList()) – Martijn 2010-05-03 10:15:30
如果你反編譯toList,你會發現它幾乎相同;) – TomTom 2010-05-03 10:23:18
這是爲我工作的,投票給你的。 – TheGateKeeper 2012-04-14 14:40:34
BindingList有一個可以帶IList的構造函數。而BindingList實現IList。所以,你可以做到以下幾點:
BindingList newBL = new BindingList(oldBL);
當然,這會創建第二個列表,在相同的對象只是點。如果你真的想克隆列表中的對象,那麼你必須做更多的工作。
從已刪除的答案:
序列化,則對象反序列 得到了深刻的分身無參考 副本
這是一個有效的選擇,如果在OP想深副本。
@Ismail S,我認爲你應該取消刪除。 – 2010-05-03 10:31:52
感謝您來拯救我:)。這些人對我使用壞話。 – IsmailS 2010-05-03 10:52:26
我們使用Serialize/De-serialize路由獲取列表的深層副本。它運行良好,但它確實會在較大的列表中降低性能,例如搜索屏幕,所以我會避免在包含超過5000個項目的列表中使用它。
using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; namespace ProjectName.LibraryName.Namespace { internal static class ObjectCloner { /// /// Clones an object by using the . /// /// The object to clone. /// /// The object to be cloned must be serializable. /// public static object Clone(object obj) { using (MemoryStream buffer = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(buffer, obj); buffer.Position = 0; object temp = formatter.Deserialize(buffer); return temp; } } } }
- 1. 複製版本控制庫的最佳方法是什麼?
- 2. 用PHP複製和壓縮的最佳方法是什麼?
- 3. 複製/克隆畫筆的最佳方法是什麼?
- 4. 製作UIButton複選框的最佳方法是什麼?
- 5. 什麼是複製xib文件的最佳方法?
- 6. 什麼是複製數據庫的最佳方法?
- 7. 複製列表的最佳方法是什麼?
- 8. 在IWpfTextView中檢測複製(Ctrl + C)事件的最佳方法是什麼?
- 9. 對BindingList執行LINQ的最快方法是什麼?
- 10. C#.. BindingList方法
- 11. 處理重複方法調用的最佳做法是什麼?
- 12. ANTLR4的最佳方法是什麼?
- 13. 評論的最佳方法是什麼?
- 14. 用C學習GLADE的最佳/最快方法是什麼?
- 15. 克隆/複製knockoutJS中的observablearray的最佳方式是什麼?
- 16. 什麼是在Windows中複製fork()的最佳方式?
- 17. 什麼是最佳搜索方法?
- 18. 什麼是縮放複雜佈局的最佳方法
- 19. 構建複雜NSCompoundPredicate的最佳方法是什麼?
- 20. 在JavaScript中恢復JSON日期的最佳方法是什麼?
- 21. Backbone.js - 檢查複選框的最佳方法是什麼
- 22. 尋找複合材料的最佳方法是什麼?
- 23. 在C#.NET中製作遊戲的最佳方式是什麼?
- 24. 複製Play商店中的「操作欄」的最佳方法是什麼?
- 25. 什麼是製作活動記錄器的最佳方法
- 26. 處理這些PDFSharp表限制的最佳方法是什麼?
- 27. 在sprite-kit中繪製繩索的最佳方法是什麼?
- 28. 製作此類信息圖表的最佳方法是什麼?
- 29. 控制循環速度的最佳方法是什麼?
- 30. 製作CSS類的最佳方法是什麼?
複製如何?進入另一個列表?基礎對象的相同實例或克隆的新實例? – 2010-05-03 10:13:10
我想複製所有實例到其他列表 – Martijn 2010-05-03 10:14:23
Martijn,你想要一個深層還是淺層的副本? – 2010-05-03 10:25:52