私は次のようなクラスを持っています:
Object1{
int id;
DateTime time;
}
のリストがありObject1
ます。の別のリストを循環させ、同じ ID の をObject1
検索し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)
}
明らかに、これは非常に面倒です (そして、プロパティのチェックも行わずに、さらに面倒です...)、これを行うためのよりクリーンな方法はありますか?