我有两个列表: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 :(得分:1)
var list3 = list1.ToList();
foreach (var val in list2)
{
if (!list3.Contains(val))
list3.Add(val);
}
这将为您提供一个包含list1和list2中所有值的新列表。
答案 1 :(得分:1)
var MyList = List1.Concat(List2.Except(List1).ToList());
答案 2 :(得分: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