我有2 Lists
string
類型:
List1 has items - item1, item2, item3
List2 has items - item1, item4, item5
現在我需要比較兩個lists
並添加從缺少的轉換成List1
。修改後的List1
將
list 1 : item1, item2, item3, item4, item5
我有2 Lists
string
類型:
List1 has items - item1, item2, item3
List2 has items - item1, item4, item5
現在我需要比較兩個lists
並添加從缺少的轉換成List1
。修改後的List1
將
list 1 : item1, item2, item3, item4, item5
一個簡單的方法:
foreach(string item in List2)
{
if(!List1.Contains(item))
List1.Add(item);
}
當然也有短(代碼lenght)選項
你可以用這個代碼嘗試 - 除了運營商
var result = List2.Except(List1);
foreach(string item in result)
{
List1.Add(item);
}
你可以使用LINQ
這個。
看看Except
方法,然後將最終的集合加入到原始集合中。
參見:http://csharp.net-tutorials.org/category/linq-to-objects/linq-except/
我會使用LINQ做
var result = List1.Union(List2);
http://msdn.microsoft.com/en-us/library/bb358407.aspx
返回值 類型:System.Collections.Generic.IEnumerable 一個IEnumerable包含來自兩個輸入序列的元素,不包括重複。
您可以使用LiNQ
此:
List<string> newList = List1.Union(List2).ToList();
VAR mergedList = list1.Union(列表2).ToList(); http://stackoverflow.com/questions/720609/merge-two-object-lists-with-linq – rsplak 2012-08-03 13:46:11
就是這樣! – Sandeep 2012-08-03 13:49:21