如果一个日期大于另一个日期,则从集合中删除项
本文关键字:日期 集合 删除 大于 如果 一个 另一个 | 更新日期: 2023-09-27 18:03:37
我试图使用linq从一个日期大于另一个日期的集合中删除项目。我知道我需要使用DateTime.Compare()
,但我有点不确定如何去做。
如果允许的话,我的代码看起来像这样:
ciLibrary.RemoveAll(x => x.LastSyncToWebsite >= x.Modified);
既然这对DATETIME
值不起作用,我如何正确地表示这个语句?
DateTime
值可与>=
值进行比较。你需要的是一个Where
:
clLibrary.Where(x => !(x.LastSyncToWebsite >= x.Modified))
或等价:
clLibrary.Where(x => x.LastSyncToWebsite < x.Modified)
生成一个新的IEnumerable,保持clLibrary
不变。如果clLibrary
是List<T>
类型,则可以:
clLibrary = clLibrary.Where(x => x.LastSyncToWebsite < x.Modified).ToList();
如果clLibrary
是T[]
类型,则可以:
clLibrary = clLibrary.Where(x => x.LastSyncToWebsite < x.Modified).ToArray();