【发布时间】:2015-12-15 02:57:38
【问题描述】:
如何根据条件从列表中删除项目。
保留列表中的所有项目,但如果 doc id 为 1,则保留具有最新(最大)日期的项目。
列表包含带有 ID 和日期的项目。 List 可以有多个具有相同 id 的项目,除了 id 1。
假设列表有 3 个项目,其中一个的 id 为 2,其余的 id 为 1,那么最新日期的 id 为 1 的项目需要在列表中,其余的将从列表中删除。
删除项目列表后将有两个项目,id 为 1 和 2。
我试过了,但没有运气。
var newest = thelist.MaxBy(x => x.DateTimeField);
示例:
如果有 4 个元素 (id: 1, Date: Now), (id: 2, Date: Now), (id: 1, Date: Yesterday), (id: 2, Date: Yesterday) 结果将是 (id: 1, Date: Now), (id: 2, Date: Now),(id: 2, Date: Yesterday)
【问题讨论】:
-
可能我需要在 x.DoctypeID = 1 的地方添加条件?
-
为什么要加两个标签
C#和vb.net? -
首先你说
List can have multiple items with same ids except id 1然后Lets say list has 3 items one of them has id 2 and the rest has id 1是不是唯一的? -
这将为 c# 和 vb.net 专家提供机会来回答这个问题,因为我同时使用这两种语言。
-
@Plutonix; 1 是唯一的,因为它们不能有相同的日期。