Ich versuche, eine Zählvariable zu verwenden, um die Häufigkeit zu zählen, wie die Bedingung wahr ist, und sie für einen Vergleich zu verwenden. aber wenn ich es kompiliere, ist count immer bei 0, es wird nie inkrementiert, auch wenn die Bedingung wahr ist.Abrufen der Zählung von der Bedingungsanweisung
foreach (ReservationType requestReservation in RequestReservation)
{
List<String> DateList = CreateDateList(requestReservation.StartDate, requestReservation.numDays);
foreach (Inventory inventory in RoomInventory)
{
if (requestReservation.hotelId == inventory.HotelId)
{
if (requestReservation.roomType == inventory.RoomType)
{
int count = 0;
int i = 0;
if (DateList[i] == inventory.Date && inventory.Quantity > 0)
{
count++;
if (requestReservation.numDays == count)
{
requestReservation.reservationId = reservationid;
requestReservation.result = ReservationType.ReservationResultType.Success;
inventory.Quantity--;
}
else
{
requestReservation.result = ReservationType.ReservationResultType.RoomNotAvailable;
}
}
}
}
}
reservationid++;
}
'int count = 0;' sollte außerhalb der foreach Schleife liegen –
Können Sie den Wert zur Kompilierzeit ändern? Interessant –