检查对象是否存在,然后根据规则进行设置

时间:2011-05-10 15:27:36

标签: c# linq

我有2个业务对象,旅行和司机。 每个包含一个驱动程序ID和一个驱动程序日期(MM / DD / YYYY)

Trip可以有多个相同的driver.driverid。我需要在前往我目前所在司机的路程中获得最接近的driver.driverid实例。

所以例如我到目前为止已经完成了这个过程:

var lookup = driver.driverid; 

这是我正在查看的当前驱动程序(使用foreach逐个浏览驱动程序对象)

我现在需要说最近的旅行对象具有相同的驱动程序和最近但不相等的过去日期。如果没有存在,则退出方法。

由于

1 个答案:

答案 0 :(得分:3)

使用LINQ你可以做这样的事情(假设你的对象结构);

 var selectedTrip = trips.Where(x => x.DriverId == desiredDriverId && x.TripDate > desiredDate).OrderBy(x => x.TripDate).FirstOrDefault();

 if(selectedTrip == null)
    return;

 // selectedTrip is your desired object