私はList
のDocument
オブジェクトを持っています。 Document
クラスには多くのプロパティがありますが、ここでは2つのみがDocumentLinkId
とUploadedOnDate
です。特定のプロパティでDistinctを使用し、述語に基づいて保持するオブジェクトを選択するにはどうすればよいですか?
私がやりたいことは、リストをフィルターにかけることで、同じDocumentLinkId
の2つのDocument
オブジェクトがないことです。特定のDocumentLinkId
を持つDocument
オブジェクトが複数ある場合は、最新のUploadedOnDate
を保持したいと考えています。
myDocumentsList.Distinct(d => d.DocumentLinkId).Max(d => d.UploadedOnDate);
しかしDistinct()
述語を取ることはありません。
私の初期の傾きは、このような何かをすることでした。 LINQでこれを行う方法はありますか?
'DocumentLinkId'でグルーピングしてから、最大のUploadedOnDateを持つ各グループに1つずつ入れてみましょう – Nkosi
Dictionaryを使ってforループを書く方法は常にありますキャッシュ。おそらく最速で動作し、何かがうまくいかないとデバッグしやすくなるか、検索条件などを拡張したいと思うでしょう。 –
Neolisk