是否可以使用linq创建查询以从用作分隔符的两个日期之间获取一系列值?
离。
获取在12/12/12和12/12/13之间具有Date列值的所有实体。
我只是在寻找暗示或方法。
答案 0 :(得分:7)
当然可以,没有“介于”之间的语法,如果这是你所得到的,但这样做比较简单。
list.Where(x => x.Date >= StartDate && x.Date <= EndDate);
如果想要更好的可读性,甚至可以为DateTime
编写扩展方法,即
public static class DateTimeHelpers
{
public static bool Between(this DateTime dateTime, DateTime startDate, DateTime endDate)
{
return dateTime >= startDate && dateTime <= endDate;
}
}
...
list.Where(x => x.Date.Between(StartDate, EndDate));
答案 1 :(得分:1)
var stuffBetweenDates = ListOfStuff.Where(c => c.Date >= 12/12/12 && c.Date <= 12/12/13);
我认为这些方面的东西。显然,我把12/12/12和12/12/13放在哪里,你需要在这些地方放置认可的日期类型。
答案 2 :(得分:1)
public IEnumerable<DateTime> test(DateTime dt, DateTime dt2)
{
// check if dt is smaller (or the same) as dt2 and code this out or throw error
// replace dates with actual class / code
List<DateTime> dates = new List<DateTime>();
return dates.Where(d => d >= dt && d <= dt2);
}