在LINQ中插入日期逻辑

时间:2018-06-04 14:50:21

标签: c# linq

我有以下列表项目,以便清楚地显示我可以看到下面的小列表,可能是数百行。 EndDate可以是nullable,如果为空,则表示课程仍然开放。

CourseId    ClassName    StartDate   EndDate
--------    --------      --------  --------
12321       Math         08-25-2017  12-02-2017
32342       Physics      08-25-2017  12-02-2017
34345       Chemistry    08-25-2017  12-02-2017
25325       Math         01-25-2018     -
44345       Chemistry    01-25-2018     -

我要传递ClassNameDate来检索相应的对象。我很难如何在LINQ

中实现Date参数
public Course GetClassesByNameAndDate(string className, DateTime date, List<Courses> allCourses)
{
    Course course  = allCourses.Where( x=> x.ClassName == className ).FirstOrDefault();

}

我想返回给定日期的相应类。例如,如果我传递today date并且课程名称为Math,那么它应该从列表中返回25325 courseID个对象。

1 个答案:

答案 0 :(得分:1)

public Course GetClassesByNameAndDate(string className, DateTime date, List<Courses> allCourses)
{
    Course course  = allCourses.Where( x => x.ClassName == className && x.StartDate <= date && x.EndDate.HasValue ? x.EndDate.Value >= date : true).FirstOrDefault();
}