C#/LINQ以日期顺序遍历对象
我有一个驱动程序列表对象(_currentDriverData),它包含多个唯一的驱动程序。然后我有一个数据列表对象(_logsDutyStatusChange),其中包含这些驱动程序的数据 _logsDutyStatusChange对象包含每个驱动程序的多条记录。我需要逐一检查数据记录,以匹配驾驶员id上的日期顺序 _logsDutyStatusChange对象包含一个日期字段、一个driverid字段和一些数据字段 我需要首先找到_logsDutyStatusChange对象中的驱动程序,然后根据数据为_currentDriverData对象指定某些值 我将如何按日期顺序逐个遍历这些对象 到目前为止,我有以下几点:C#/LINQ以日期顺序遍历对象,c#,linq,C#,Linq,我有一个驱动程序列表对象(_currentDriverData),它包含多个唯一的驱动程序。然后我有一个数据列表对象(_logsDutyStatusChange),其中包含这些驱动程序的数据 _logsDutyStatusChange对象包含每个驱动程序的多条记录。我需要逐一检查数据记录,以匹配驾驶员id上的日期顺序 _logsDutyStatusChange对象包含一个日期字段、一个driverid字段和一些数据字段 我需要首先找到_logsDutyStatusChange对象中的驱动程序,然
var lookup = _logsDutyStatusChange.ToLookup(x => x.did);
foreach(CurrentDriverInfo driver in _currentDriverData)
{
if (lookup.Contains(driver.driverid))
{
我认为在你的if声明中需要这样的东西:
foreach (var log in lookup[driver.driverid].OrderBy(log => log.date))
{
}
foreach( var x in _logDutyStatus.OrderBy( lds => lds.datefield ) )
{
var driver = _currentDriverData.FirstOrDefault( d => d.driverid = x.did );
if( driver != null )
{
// do stuff with driver
}
}