以爲我的搜索範圍很容易找到。如何組合兩個列表而不重複? (可能爲dup)
我希望將兩個列表合併在一起,而不是重複。這是我的黑客企圖。
public class MyClass
{
public Guid? MyGuid { get; set; }
}
//.....
Guid? dupGuid1 = Guid.NewGuid();
Guid? uniqueGuid1 = Guid.NewGuid();
MyClass x1 = new MyClass { MyGuid = dupGuid1 };
List<MyClass> myMainList = new List<MyClass>() { x1 };
MyClass y1 = new MyClass { MyGuid = dupGuid1 };
MyClass y2 = new MyClass { MyGuid = uniqueGuid1 };
List<MyClass> myAddList = new List<MyClass> { y1, y2 };
myMainList.AddRange(myAddList
.Where(w => w.MyGuid != myAddList.SelectMany(s => s.MyGuid).ToList()));
Debug.Assert(myMainList.Count == 2);
我該怎麼做?謝謝。
爲什麼你在比較Guid嗎?到列表,這不應該編譯。 –
2012-04-02 00:52:17
不值得回答,但考慮創建一個實現「IEqualityComparer」並採用一些謂詞的通用'CustomComparer'類,然後在比較其他自定義類型時可以隨處使用該類。 – 2012-04-02 00:54:58