[英]Remove items from a collection if one date is greater than another
我正在尝试使用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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.