我有兩個查詢,每個查詢返回一個對象列表。如何合併給定屬性上的兩個列表
List<A> list1 = (....query...)
List<A> list2 = (....query...)
「A」是對象模型。
這兩個查詢都返回幾乎相同的對象,但設置了不同的屬性。
我想刪除重複的將它們合併爲基於對象A的屬性
基本上是這樣一個列表:
List<A> finalLis = list1 join list2 on elemList1.somePropID == elemList2.somePropID
在簡單的C#的風格會是這樣的:
foreach(elem1 : list1) {
foreach(elem2: list1) {
if(elem1.someID == elem2.someID) {
elem1.someProp = elem2.someProp
elem1.otherProp = elem2.otherProp
}
}
}
我不想這樣做,因爲我確信linq中有更優雅的方式。
如果您有任何建議,請讓我知道。
你想有從第二收集,不第一個集合中匹配的任何項目ID,在結果集中的項目? – mipe34
否....第一個列表中的元素與第二個列表中的元素幾乎相同。理念是在第一個列表中沒有設置一些屬性,但是這些值可以在對應的對象中找到。最終列表是第一個列表,但所有屬性都設置爲 – cmg