我有一个属性类的列表,其中将开始时间和结束时间作为属性
像:List<PropSchedules>

PropSchedules
{
 DateTime StartTime,
 DateTime EndTime
}


值就像:

Starttime   EndTime
07:00       09:00
11:00       14:00
15:00       20:00


现在我有时间,我想知道哪个时间更长。

就像我有时间说10:00一样,第二个项目的价格最低。

因此,任何人都有一些捷径来获得相同的结果,否则我必须做循环并检查每一个。

最佳答案

考虑一个类PropSchedules

class PropSchedules
{
    public DateTime StartTime;
    public DateTime EndTime;
}


以及PropSchedules列表

List<PropSchedules> listSchedules;


以及参考日期为start:

DateTime start = DateTime.Now; // for example


那么您可以使用以下命令找到下一个PropSchedules:

PropSchedules next = listSchedules.Where(s => s.StartTime > start).OrderBy(s => s.StartTime).FirstOrDefault();


如果没有较低的最大值,则next可以为null

10-01 07:47