2011-04-18 84 views
0

我有一个包含多个唯一驱动程序的驱动程序列表对象(_currentDriverData)。然后我有一个数据列表对象(_logsDutyStatusChange),其中包含这些驱动程序的数据。C#/ LINQ按日期顺序遍历对象

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

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

我需要先查找驱动程序在_logsDutyStatusChange对象,那么我就需要根据数据的某些值分配给_currntDriverData对象。

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

我有以下至今:

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

回答

2

我想你需要你的if语句里面是这样的:

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

} 
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 
    } 
}