在List <string> </string>中添加操作

时间:2012-08-03 13:44:41

标签: c# string linq

  

可能重复:
  Merge two object lists with linq

我有2 Listsstring类型:

List1 has items - item1, item2, item3

List2 has items - item1, item4, item5

现在我需要比较两个lists并将List2中缺少的内容添加到List1中。修改后的List1将是

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

5 个答案:

答案 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/