小编cmg*_*cmg的帖子

如何合并给定属性上的两个列表

我有两个查询,每个查询返回一个对象列表.

List<A> list1 = (....query...)
List<A> list2 = (....query...)
Run Code Online (Sandbox Code Playgroud)

"A"是对象模型.

两个查询都返回几乎相同的对象,但设置了不同的属性.

我想删除重复项,根据对象A的属性将它们合并到一个列表中.

基本上是这样的:

List<A> finalLis = list1 join list2 on elemList1.somePropID == elemList2.somePropID 
Run Code Online (Sandbox Code Playgroud)

在简单的C#样式中,它将是这样的:

foreach(elem1 : list1) {
    foreach(elem2: list1) {
       if(elem1.someID == elem2.someID) {
           elem1.someProp = elem2.someProp
           elem1.otherProp = elem2.otherProp
        }
     }
}
Run Code Online (Sandbox Code Playgroud)

我不想这样做,因为我确信在linq中有更优雅的方式.

如果您有任何建议,请让我知道.

c# linq

5
推荐指数
1
解决办法
3808
查看次数

标签 统计

c# ×1

linq ×1