我有一堂课如下:
Object1{
int id;
DateTime time;
}
我有一个清单Object1
。如果时间值晚于列表中的时间值,我想循环浏览另一个列表Object1
,搜索具有相同 ID 的 并在第一个列表中替换它。Object1
如果该项目不在第一个列表中,则添加它。
我确信有一种优雅的方法可以做到这一点,也许使用 linq?:
List<Object1> listOfNewestItems = new List<Object1>();
List<Object1> listToCycleThrough = MethodToReturnList();
foreach(Object1 object in listToCycleThrough){
if(listOfNewestItems.Contains(//object1 with same id as object))
{
//check date, replace if time property is > existing time property
} else {
listOfNewestItems.Add(object)
}
显然这是非常混乱的(甚至没有检查更混乱的属性......),有没有更清洁的方法来做到这一点?