2012-04-10 229 views
-4

我有兩個測試列表,其中一些包含屬性(鍵,值)。 讓我們給他們打電話list-A & list-B合併兩個列表

我想要做的(僅在list-B)以下:

1)添加測試list-A已經和list-B沒有(所有屬性)。

2)添加屬性,list-A有和list-B

3)刪除list-B已經和list-A

我該怎麼辦屬性,在C#中少於4/5循環?

+0

可能的重複http://stackoverflow.com/questions/720609/merge-two-object-lists-with-linq – 2012-04-10 13:01:21

回答

0

如果我理解你的問題,只需要兩個循環......但是什麼是屬性和什麼是你的情況下的測試?關鍵是測試,價值是屬性?

foreach(type key in a.keys) 
{ 
    //a1 I think. adds a key not in b 
    if(!b.ContainsKey(key)) 
    { 
    b.Add(key, a[key]); 
    } 
    else 
    { 
    //a2 I think... I suppose that the value is a list of properties 
    foreach(type prop in a[key]) 
    { 
     if(!b[key].Contains(prop)) 
     { 
     b[key].Add(prop); 
     } 
    } 
    } 
}