2014-09-12 76 views
-1

我有兩個列表:list1list2。我想以不影響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 2014-09-12 10:14:37

+0

['.Concat()']( http://msdn.microsoft.com/ru-ru/library/bb302894(v=vs.110).aspx) – 2014-09-12 10:15:11

+0

http://stackoverflow.com/questions/1528171/joining-two-lists-together Can你澄清你的問題?我似乎無法撿起來。 – 2014-09-12 10:15:24

回答

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

工作正常。感謝名單 – niXy 2014-09-12 10:55:50

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

這將給您提供從列表1和List2所有值的新名單。

+0

這不是問題的作者想要的。 – Dirk 2014-09-12 10:23:14

+0

@Dirk,這是他要求的。 – 2014-09-12 10:26:45

+0

是的,你編輯它之後。 – Dirk 2014-09-12 10:29:02

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