我想组合两个字符串列表的项目但不想重复项目
List<string> l1 = new List<string>() { "A", "B", "C", "D"};
List<string> l2 = new List<string>() { "B", "E", "G", "D"};
结果:A,B,C,D,E,G
我怎样才能实现这个目标?
答案 0 :(得分:5)
使用Union
和Distinct
运营商:
var newList = l1.Union(l2).Distinct().ToList();
答案 1 :(得分:4)
您可以使用LINQ生成两个列表的并集:
var combined = l1.Union(l2);
答案 2 :(得分:1)
这应该有效。不像上面的答案那么优雅。
List<string> l1 = new List<string>() { "A", "B", "C", "D" };
List<string> l2 = new List<string>() { "B", "E", "G", "D" };
l1.Concat(l2);
IEnumerable<string> noDupes = l1.Distinct();
答案 3 :(得分:0)
C#2.0版
Dictionary<string,string> dict = new Dictionary<string,string>();
l1.AddRange(l2);
foreach(string s in l1) dict[s] = s;
List<string> result = new List<string>(dict.Values);