我需要再次帮助。我目前正在研究一个示例项目。在那里,我有一个列表框,其中包含可在选定时间段内使用的汽车。这段时间是通过Windows窗体中的DateTime-Control选择的。
所以我有一个循环(foreach),删除所有在所选时间段内不可用的列表条目。
看起来像这样
int recordsRemoved = availableCars.RemoveAll(f =>f.ObjectID == v.Car && dtStartDate.Value >= v.StartDate | dtEndDate.Value <= v.EndDate);
dtStartDate是Windows Forms Control,v.StartDate是我的DataBase中租金的StartDate。
我希望到目前为止可以理解......
正如你可能知道的那样,我的“if”不能按我想要的方式工作。我需要的是一个选项,它删除已经租用的每辆车(例如)10.05.2016至2016年6月17日。
当我选择10.05.2016至17.05.2016时,我不希望任何车辆出现在(例如)2016年6月5日至2016年5月23日的租赁名单中。
好吧,再一次,我希望我能解释一下,以便你能理解它。
非常感谢提前
答案 0 :(得分:0)
尝试Where
,如下所示:
int recordsRemoved = availableCars.RemoveAll(availableCars.Where(f =>f.ObjectID == v.Car && dtStartDate.Value >= v.StartDate && dtEndDate.Value <= v.EndDate));