{
load: {
stops: [
{
Name: "Stop 1",
AppointmentDateTime: "02/25/2025T14:00:00"
},
{
Name: "Stop 2",
AppointmentDateTime: "02/25/2025T13:00:00"
},
{
Name: "Stop 3",
AppointmentDateTime: "02/25/2025T15:30:00"
}
]
}
}
< /code>
У меня уже есть валидатор жидкости в C#, работая с некоторыми из следующих кодов: < /p>
RuleForEach(x => x.Stops).ChildRule(stop =>
{
stop.RuleFor(s => s.Name).NotEmpty().NotNull();
stop.RuleFor(s => s.AppointmentDateTime).NotEmpty().NotNull().Must(x => x > x.DateTime.Now).WithMessage("AppointmentDateTime must be in the future");
}
< /code>
Пока это работает, я хотел бы подтвердить, что элементы в массиве находятся за друг другу. Stop 2 должен иметь время встречи после остановки 1 и остановки 3 после остановки 2 и т. Д. Я не могу найти способ в коде, чтобы сделать что -то вроде цикла, где я могу сохранить предыдущее значение элемента. В идеале я собирался сделать что -то вроде: < /p>
Stop? prevStop = null;
foreach (stop in stops) {
if (!prevStop is null)
{
DO SOMETHING TO validate that prevStop.AppointmentDateTime > stop.AppointmentDateTime;
}
prevStop = stop;
}
Хотя есть способ тестирования элементов, я не вижу способа сохранить предыдущий элемент для сравнения с текущим.
У меня есть массив объектов, которые я получаю в теле HTTP. Выглядит примерно так: < /p> [code]{ load: { stops: [ { Name: "Stop 1", AppointmentDateTime: "02/25/2025T14:00:00" }, { Name: "Stop 2", AppointmentDateTime: "02/25/2025T13:00:00" }, { Name: "Stop 3", AppointmentDateTime: "02/25/2025T15:30:00" } ] } } < /code> У меня уже есть валидатор жидкости в C#, работая с некоторыми из следующих кодов: < /p> RuleForEach(x => x.Stops).ChildRule(stop => { stop.RuleFor(s => s.Name).NotEmpty().NotNull(); stop.RuleFor(s => s.AppointmentDateTime).NotEmpty().NotNull().Must(x => x > x.DateTime.Now).WithMessage("AppointmentDateTime must be in the future"); } < /code> Пока это работает, я хотел бы подтвердить, что элементы в массиве находятся за друг другу. Stop 2 должен иметь время встречи после остановки 1 и остановки 3 после остановки 2 и т. Д. Я не могу найти способ в коде, чтобы сделать что -то вроде цикла, где я могу сохранить предыдущее значение элемента. В идеале я собирался сделать что -то вроде: < /p> Stop? prevStop = null; foreach (stop in stops) { if (!prevStop is null) { DO SOMETHING TO validate that prevStop.AppointmentDateTime > stop.AppointmentDateTime; } prevStop = stop; } [/code] Хотя есть способ тестирования элементов, я не вижу способа сохранить предыдущий элемент для сравнения с текущим.