C#/ LINQ按日期顺序迭代对象

时间:2011-04-18 18:32:58

标签: c# linq

我有一个包含多个唯一驱动程序的驱动程序列表对象(_currentDriverData)。然后我有一个数据列表对象(_logsDutyStatusChange),其中包含这些驱动程序的数据。

_logsDutyStatusChange对象包含每个驱动程序的多个记录。我需要在驱动程序ID的日期顺序匹配中逐个查看数据记录。

_logsDutyStatusChange对象包含日期字段,driverid字段和一些数据字段。

我需要首先找到_logsDutyStatusChange对象中的驱动程序,然后我需要根据数据将某些值分配给_currntDriverData对象。

我如何按日期顺序逐个浏览这些对象?

到目前为止,我有以下内容:

var lookup = _logsDutyStatusChange.ToLookup(x => x.did);
                    foreach(CurrentDriverInfo driver in _currentDriverData)
                    {
                         if (lookup.Contains(driver.driverid))
                         {

2 个答案:

答案 0 :(得分:2)

我认为你在if语句中需要这样的东西:

foreach (var log in lookup[driver.driverid].OrderBy(log => log.date))
{

}

答案 1 :(得分:0)

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 
    }
}
相关问题