0

可能重复:
使用 linq 合并两个对象列表

我有 2Lists种类型string

List1 has items - item1, item2, item3

List2 has items - item1, item4, item5

现在我需要比较两者lists并将缺少的添加List2List1. 修改后的List1将是

list 1 : item1, item2, item3, item4, item5
4

5 回答 5

3

您可以LiNQ为此使用:

List<string> newList = List1.Union(List2).ToList();
于 2012-08-03T13:52:08.060 回答
1

您可以尝试使用此代码 - 除了运算符

var result = List2.Except(List1);

foreach(string item in result )
{
   List1.Add(item);
}
于 2012-08-03T13:49:10.553 回答
1

我会用 linq 来做

var result = List1.Union(List2);

http://msdn.microsoft.com/en-us/library/bb358407.aspx

返回值 类型:System.Collections.Generic.IEnumerable 一个 IEnumerable,包含来自两个输入序列的元素,不包括重复项。

于 2012-08-03T13:52:06.250 回答
0

你可以用LINQ这个。

查看该Except方法,然后将生成的集合加入到您的原始集合中。

见:http ://csharp.net-tutorials.org/category/linq-to-objects/linq-except/

于 2012-08-03T13:49:42.570 回答
0

一个简单的方法:

foreach(string item in List2)
{
if(!List1.Contains(item))
   List1.Add(item);
}

当然有更短(代码长度)的选项

于 2012-08-03T13:48:10.823 回答