最简单的方式来形成两个列表的联合

比较两个列表元素的最简单的方法是将A和B相互比较,并且只有当A不在A中时,才将B中存在的元素添加到A中?

为了说明,取列表A = {1,2,3}列表B = {3,4,5}

所以在操作AUB之后我想要列表A = {1,2,3,4,5}

如果是列表,也可以使用AddRange方法。

var listB = new List<int>{3, 4, 5}; var listA = new List<int>{1, 2, 3, 4, 5}; listA.AddRange(listB); // listA now has elements of listB also. 

如果你需要新的列表(并排除重复),你可以使用联合

  var listB = new List<int>{3, 4, 5}; var listA = new List<int>{1, 2, 3, 4, 5}; var listFinal = listA.Union(listB); 

如果你需要新的列表(并包括重复),你可以使用concat

  var listB = new List<int>{3, 4, 5}; var listA = new List<int>{1, 2, 3, 4, 5}; var listFinal = listA.Concat(listB); 

如果你需要共同的项目,你可以使用相交 。

var listB = new List {3,4,5};
var listA = new List {1,2,3,4};
var listFinal = listA.Intersect(listB); // 3,4

最简单的方法是使用LINQ的Union方法:

 var aUb = A.Union(B).ToList(); 

使用LINQ的联盟

 Enumerable.Union(ListA,ListB); 

要么

 ListA.Union(ListB); 

我认为这是你真正需要做的事情:

 var listB = new List<int>{3, 4, 5}; var listA = new List<int>{1, 2, 3, 4, 5}; var listMerged = listA.Union(listB);