2014-09-12 2 views
-1

У меня есть два списка: list1 и list2. Я хочу присоединиться к спискам таким образом, чтобы не влиять на значения в list1, даже если они содержат повторяющиеся значения. Однако при добавлении значений от list2 дублирующиеся значения не следует удалять.Нестандартное соединение двух списков

Я пробовал Union, который будет отличать все значения и устранить мои повторяющиеся значения в list1.

Например

list1 = [a, b, c, c, d, e] 
list2 = [a,c,f,g] 
my required solution 
list3=[a, b, c, c, d, e, f, g] 
+0

Вы можете разместить соответствующий код, чтобы каждый мог взглянуть на то, где вы собираетесь неправильно – Izzy

+0

[ '.Concat()'] (http://msdn.microsoft.com/ru-ru/library/bb302894(v=vs.110).aspx) –

+0

http://stackoverflow.com/questions/1528171/joining-two-lists-together Can вы уточните свой вопрос? Кажется, я не понимаю. –

ответ

1
var MyList = List1.Concat(List2.Except(List1).ToList()); 
+0

Работа штраф. Thanx – niXy

1
var list3 = list1.ToList(); 
foreach (var val in list2) 
{ 
    if (!list3.Contains(val)) 
     list3.Add(val); 
} 

Это даст вам новый список со всеми значениями из list1 и list2.

+0

Это не то, что хочет автор вопроса. – Dirk

+0

@ Dirk, вот что он просил. –

+0

Да, после того, как вы его отредактировали. – Dirk

0

Вы хотели бы использовать что-то вроде этого

var list1 = new List<int> {1, 2, 3, 3}; 
var list2 = new List<int> {1, 2, 3, 4, 5, 3}; 
var list3 = list1.Concat(list2.Except(list1)); // 1, 2, 3, 3, 4, 5 
Смежные вопросы