我有2 Lists
个string
类型:
List1 has items - item1, item2, item3
List2 has items - item1, item4, item5
现在我需要比较两个lists
并将List2
中缺少的内容添加到List1
中。修改后的List1
将是
list 1 : item1, item2, item3, item4, item5
答案 0 :(得分:3)
您可以使用LiNQ
:
List<string> newList = List1.Union(List2).ToList();
答案 1 :(得分:1)
您可以尝试使用此代码 - 运算符除外
var result = List2.Except(List1);
foreach(string item in result )
{
List1.Add(item);
}
答案 2 :(得分:1)
我会用linq来做它
var result = List1.Union(List2);
http://msdn.microsoft.com/en-us/library/bb358407.aspx
返回值 键入:System.Collections.Generic.IEnumerable 包含两个输入序列中元素的IEnumerable,不包括重复项。
答案 3 :(得分:0)
一个简单的方法:
foreach(string item in List2)
{
if(!List1.Contains(item))
List1.Add(item);
}
当然有更短的(代码长度)选项
答案 4 :(得分:0)
您可以使用LINQ
。
查看Except
方法,然后将生成的集合加入原始集合。
请参阅:http://csharp.net-tutorials.org/category/linq-to-objects/linq-except/