【发布时间】:2018-08-21 17:42:10
【问题描述】:
我尝试使用 LINQ 过滤数据,数据来自 3rd 方 API(JIRA 服务器),ResolutionDateis DateTime 类型,我猜它使用 Nullable,无论如何,我很确定该值为 null,但是当我使用 LINQ,它根本不起作用。 LINQ 就是不能做 i.ResolutionDate == null,它总是说没有符合这个条件的项目。我很确定我有问题,他们的 ResolutionDate 为空。
https://developer.atlassian.com/server/jira/platform/database-issue-fields/
var foo = datas.Where(i =>
i.Created > date && i.Created <= date.AddDays(7) &&
i.ResolutionDate> date.AddDays(7) && i.ResolutionDate== null);
【问题讨论】:
-
i.ResolutionDate的类型是什么? -
i.ResolutionDate不能同时为未来 7 天以上的日期且同时为空。 -
应该是||而不是 &&?
-
您“非常确定”存在 ResolutionDate 为空的项目?在您开始想知道为什么 LINQ 不起作用之前,也许您应该完全确定。
-
是的,抱歉示例代码不正确,var foo = datas.Where(i => i.Created > date && i.Created date .AddDays(7) || i.ResolutionDate== null);那么在这种情况下,它会变成(i.Created > date && i.Created date.AddDays(7)) 或 i.ResolutionDate== null,但我的一切在 AND 中还包括 i.ResolutionDate== null
标签: c# linq datetime jira jira-rest-api