C# 在LINQ中插入日期逻辑
我有下面的列表项,为了清晰地显示,我可以可视化下面的小列表,可能是数百行C# 在LINQ中插入日期逻辑,c#,linq,C#,Linq,我有下面的列表项,为了清晰地显示,我可以可视化下面的小列表,可能是数百行EndDate可以是null,如果为null,则表示课程仍然开放 CourseId ClassName StartDate EndDate -------- -------- -------- -------- 12321 Math 08-25-2017 12-02-2017 32342 Physics 08-25-2017 12-02-
EndDate
可以是null
,如果为null,则表示课程仍然开放
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中实现Date
参数
public Course GetClassesByNameAndDate(string className, DateTime date, List<Courses> allCourses)
{
Course course = allCourses.Where( x=> x.ClassName == className ).FirstOrDefault();
}
public Course GetClassesByNameAndDate(字符串className,DateTime date,列出所有课程)
{
Course=allCourses.Where(x=>x.ClassName==ClassName).FirstOrDefault();
}
我想返回给定日期内的对应类。例如,如果我传递了
today date
和课程名称作为Math
,那么它应该从列表中返回我25325 courseID
对象。公共课程GetClasses ByName和date(字符串className,DateTime date,列出所有课程)
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();
}
{
课程=所有课程。其中(x=>x.ClassName==ClassName&&x.StartDate=date:true);
}
那么日期的逻辑是什么?您是否应该检索StartDate
和EndDate==null | | EndDate>date
的课程?是否希望where子句只返回开放的课程?我想返回给定日期内的相应类。例如,如果我通过了today date
,并且课程名称为Math
,那么它应该从列表中返回我25325 courseID
对象。阅读并详细说明“有困难”。你在找哪里(…&&x.StartDate)是不是应该是x.StartDate=date
?