我有两个对象列表,使用Linq我想合并它们,但是当两个列表包含具有相同键的对象时,我只想要具有最大LastUpdated值的那个.
我认为我可以通过关键字a以max(LastUpdated)获得列表分组,然后加入返回加入key和LastUpdated的列表,但必须有更有效的方式...
List<MyObject> lstListA = new List<MyObject>;
List<MyObject> lstListB = new List<MyObject>;
public class MyObject
{
public string Key {get;set;}
public string Value {get;set;}
public DateTime LastUpdated {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 17
一个选项,使用DistinctBy从MoreLINQ:
var query = lstListA.Concat(lstListB)
.OrderByDescending(x => x.LastUpdated)
.DistinctBy(x => x.Key);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2353 次 |
| 最近记录: |