【发布时间】:2013-08-08 21:51:09
【问题描述】:
假设我们有一个DateTime,其中设置了一些字段,例如。只有Month 和Day。这是一个面具。我们想通过这个掩码过滤 DateTimes 列表:
匹配 X,如果 X 具有月份和日期与掩码相同,以及其他字段中的任何其他值,如果掩码未设置它们(零)。
当然,我可以对每个可能的领域进行大量比较,但我相信 .NET 库。我正在寻找一种好方法,无论是否使用 LINQ。
这个的实际用法就像指定年份来查找今年的所有对应条目,或者指定月份和日期来查找这些月份和日期(任何年份和时间)的所有内容
编辑:我正在寻找一种本地方式来告诉代表“2010”和“2010/02/01”的日期存在某种关系(基本上,“2010”包括“2010/02/01”更多具体的)。我以前叫“2010”面具。
【问题讨论】:
-
这些是否存储在某个集合中?大多数集合允许您实现
IEqualityComparer<T>或IComparer<T>,您可以为要检查的每个掩码提供一个实现并提供它。或者有一系列静态方法给 LINQWhere调用。 -
@Adam Houldsworth:是的,我知道这些事情,我的问题是关于比较 DateTimes 的本地方式。我将包括这个问题。
标签: c# datetime filter compare mask