假设两个List 它们的内容是相同类型的,如下:

List<ItemModel> list1 = new List<ItemModel>();
List<ItemModel> list2= new List<ItemModel>();
//然后可以使用下面方法实现合并
list1 = list1.Concat(list2).ToList();

lebang2020.cn
 

几种合并方式的对比

  • Concat + ToList:返回新集合,原集合不变,适合只读合并。
  • AddRange:把第二个集合追加到第一个集合,会修改原集合。
  • Union:合并并去重,依赖元素的相等比较。
  • Concat 与 AddRange 性能接近,关键区别在于"是否修改原集合"。

另外,用 ToList().ForEach(...) 代替 foreach 并不更清晰,也不便于断点调试。