代码之家  ›  专栏  ›  技术社区  ›  casillas

在LINQ中插入日期逻辑

  •  -2
  • casillas  · 技术社区  · 7 年前

    我有下面的列表项以便清楚地显示,我可以看到下面的小列表,可以是数百行。 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     -
    

    我有 ClassName Date 传递以检索相应的对象。我很难实施 日期 进入LINQ的参数

    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 回复  |  直到 7 年前
        1
  •  1
  •   croxy StartPlayer    7 年前
    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();
    }