我希望能够返回在特定日期之间可以免费预订的 Vehicle 对象列表。
我有一个方法可以返回那些日子之间当前在数据库中的预订列表,并且每个预订都有一个相关的车辆对象,所以我知道所有不可用的车辆。
我有另一种方法可以返回数据库中所有车辆的列表,但我需要一种将 Booking.Vehicle 与从列表返回的 Vehicle 对象进行比较的方法。
我试过这个
foreach(var booking in bookings)
{
allVehicles.Remove(booking.Vehicle)
}
但是车辆不会移除,为什么没有正确比较对象?即使它的同一个车辆对象被移除。
//Testing to see if the objects compare as expected (they don't)
public static List<Vehicle> AvaliableVehiclesBetween(DateTime StartDate, DateTime EndDate)
{
List<Booking> bookings = Booking.BookingsBetween(StartDate, EndDate);
List<Vehicle> vehicles = AllVehicles();
Vehicle v = vehicles[0];
if(bookings[0].Vehicle.Equals(v)) {
vehicles = null;
}
return vehicles;
}
在我运行这个之后,车辆不等于空;