我的课程定义如下。
public class Risk
{
public DateTime RiskDate { get; set;}
public string RiskStatus { get; set;}
}
我有一份风险清单如下
10/10/2001高
15/10/2001低
21/10/2001高
28/10/2001低
05/11/2001高
08/11/2001低
我想从列表中找到给定日期的日期范围。例如,如果我的输入日期是17/10/2001,那么我想从列表中拉出15/10/2001和21/10/2001。如果我的输入日期与列表完全匹配,例如28/10/2001,那么我想从列表中仅提取该日期。
我希望有人可以就此提出建议。
谢谢
答案 0 :(得分:0)
这有效:
var lower =
from d in dates
where d <= inputDate
orderby d descending
select d;
var upper =
from d in dates
where d >= inputDate
orderby d
select d;
var range = lower.Take(1)
.Concat(upper.Take(1))
.Distinct();