Самый простой способ сформировать объединение двух списков - программирование
Подтвердить что ты не робот

Самый простой способ сформировать объединение двух списков

Каков самый простой способ сравнить элементы двух списков, говорящих A и B друг с другом, и добавить элементы, которые присутствуют в B в A, только если они не присутствуют в A?

Чтобы проиллюстрировать, Возьмите список A = {1,2,3} список B = {3,4,5}

Итак, после операции AUB я хочу список A = {1,2,3,4,5}

4b9b3361

Ответ 1

Если это список, вы также можете использовать 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.

Если вам нужен новый список (и исключить дубликат), вы можете использовать union

  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);

Если вам нужны общие элементы, вы можете использовать Intersect.

var listB = новый список {3, 4, 5};
var listA = новый Список {1, 2, 3, 4};
var listFinal = listA.Intersect(listB);//3,4

Ответ 2

Самый простой способ - использовать метод LINQ Union:

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

Ответ 3

Использование LINQ Union

Enumerable.Union(ListA,ListB);

или

ListA.Union(ListB);

Ответ 4

Я думаю, что это все, что вам действительно нужно делать:

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

var listMerged = listA.Union(listB);