我正在尝试对列表中的数据进行一些手动验证。
我有一个 MachineryRecord 类,我对它进行排序,然后按 JobNumber 分组,现在我需要在每个具有重叠时间的分组列表中找到任何结果,例如。开始时间到结束时间与另一个记录 StartTime 到 EndTime 重叠。
到目前为止,这就是我所得到的:
int invalidCount = 0;
var sorted = _machineRecords.OrderBy(x => x.StartTime).ToList();
var grouped = sorted.GroupBy(x => x.JobNumber).ToList();
foreach(IGrouping<int,MachineryRecord> mac in grouped)
{
var queryResults = mac.//Linq query to find overlapping times
invalidCount += queryResults.Count;
}
if(invalidCount > 0)
return false;
else
return true;
这是 MachineRecord 对象的缩减版本:
public class MachineryRecord
{
public int ID { get; set; }
public float StartTime { get; set; }
public float EndTime { get; set; }
}
所以我的问题是实现这一目标的 linq 查询是什么?
谢谢您的帮助。