我正在尝试创建LINQ语句,该语句将为我提供开始日期和结束日期之间的最大天数。

因此,我得到了所有已解决问题的声明:

var issuesClosed = whseTasks.Where(t => t.CompDate != null);


从此问题列表中,我想查找每个记录的给定issue.StartDate和issue.EndDate之间的最大天数,然后选择具有最大天数的记录。

例如:

1 | issue.StartDate = 7/3/2014 | issue.EndDate = 7/5/2014 = 2天

2 | issue.StartDate = 2014年7月1日| issue.EndDate = 7/5/2014 = 4天

3 | issue.StartDate = 2014年7月1日| issue.EndDate = 2014年7月6日= 5天

我想选择记录3,因为它的天数最多。

最佳答案

var issues = new[]
{
    new Issue { StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(4) },
    new Issue { StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(12) },
    new Issue { StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(1) }
};

var theIssue =
    issues.OrderBy(issue => (issue.StartDate - issue.EndDate).TotalDays)
          .First();

关于c# - LINQ语句使用日期时间查找最大天数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24563607/

10-13 03:14