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