Ответ 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