假設我有兩個相同類型的通用列表。我如何將它們組合成一個這種類型的通用列表?.NET:組合兩個通用列表
回答
這應該做的伎倆
List<Type> list1;
List<Type> list2;
List<Type> combined;
combined.AddRange(list1);
combined.AddRange(list2);
使用.AddRange()方法
如果您正在使用C#3.0/.NET 3.5:
List<SomeType> list1;
List<SomeType> list2;
var list = list1.Concat(list2).ToList();
作爲一個澄清,這需要.NET 3.5,而不僅僅是C#3.0(擴展方法是C#3.0的一部分,但定義它們的'System.Linq.Enumerable'類是其中的一部分。 NET 3.5) – 2010-01-04 22:45:15
@Adam Robinson:謝謝你的精確度。 – 2010-01-04 22:52:52
這可以在.NET 2.0上工作,如果你使用VS2008和LinqBridge;) – 2010-01-04 23:22:40
您可以簡單地將項目從一個列表添加到另一個列表中:
list1.AddRange(list2);
如果你想保留名單,並創建一個新:
List<T> combined = new List<T>(list1);
combined.AddRange(list2);
或者使用LINQ方法:
List<T> combined = list1.Concat(list2).ToList();
您可以通過創建一個列表得到一點更好的性能在添加項目之前的正確容量:
List<T> combined = new List<T>(list1.Count + list2.Count);
combined.AddRange(list1);
combined.AddRange(list2);
加入關鍵字和這種方式你聲明有什麼區別? – 2010-12-01 05:23:03
- 1. 兩個列表組合
- 2. 合併兩個列表在C#.NET
- 3. 通過組合兩個列表創建列表
- 4. 表的兩列組合到單個列
- 5. Python-將兩個列表組合成一個列表列表
- 6. 在.NET 2.0中通過ID比較兩個通用列表
- 7. 在C++中組合兩個列表
- 8. 將兩個列表組合成csv
- 9. java中兩個列表的組合
- 10. python中兩個列表的組合
- 11. 兩個列表的值的組合
- 12. ReadOnlyList作爲兩個列表的組合
- 13. 合併兩個列表組件
- 14. 合併兩個數組列表
- 15. 在列表中組合兩個項目
- 16. 通過組合兩個列表中的值來創建第三個列表
- 17. 通過引用兩列的條件組合R中的兩個數據表
- 18. Combinig兩個通用列表
- 19. 從組合框列表中選擇兩個組合框的值?
- 20. 組合兩個數組1個陣列
- 21. 用表_name列聯合兩個表
- 22. Excel宏通過匹配兩列來組合兩個excel行
- 23. 通過顛倒列表查找兩個列表的合併點
- 24. 將兩個小數點列表組合在一個數組中
- 25. 通過鍵組合了兩個數組陣列
- 26. 使用Linq比較或匹配兩個通用列表集合
- 27. 生成通用列表的組合
- 28. SML - 合併兩個列表
- 29. Groovy合併兩個列表?
- 30. 合併兩個列表
這是最有效的,或最方便的方式? – 2010-01-04 22:37:38
pstst .AddRange,Java在那裏 - > – blu 2010-01-04 22:39:10
@Ipthnc,除了'foreach()'和List.Add()'結合在一起外,我不知道其他的方法。但它確實是最方便的方式。 – 2010-01-04 22:39:59