83 votes

La façon la plus simple de former une union de deux listes

Quelle est la manière la plus simple de comparer les éléments de deux listes, A et B, et d'ajouter les éléments présents dans B à A uniquement s'ils ne sont pas présents dans A ?

En guise d'illustration, Prenons la liste A = {1,2,3} la liste B = {3,4,5}

Après l'opération AUB, je veux donc liste A = {1,2,3,4,5}

158voto

Tilak Points 13095

S'il s'agit d'une liste, vous pouvez également utiliser Ajouter une plage méthode.

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.

Si vous avez besoin d'une nouvelle liste (et e Union

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

I C

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

I I .

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

31voto

dasblinkenlight Points 264350

La méthode la plus simple consiste à utiliser la fonction Union méthode :

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

10voto

unikorn Points 3986

L'utilisation de la fonction Union

Enumerable.Union(ListA,ListB);

ou

ListA.Union(ListB);

5voto

code4life Points 8797

Je pense que c'est tout ce qu'il faut faire :

var listB = new List<int>{3, 4, 5};
var listA = new List<int>{1, 2, 3, 4, 5};

var listMerged = listA.Union(listB);

0voto

mikeng Points 906

I AddRange , Concat .

IEnumerable<int> first = new List<int>{1,1,2,3,5};
IEnumerable<int> second = new List<int>{8,13,21,34,55};

var allItems = first.Concat(second);
// 1,1,2,3,5,8,13,21,34,55

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X