Я пытаюсь вернуть подмножество записей из массива на основе даты.Итерация по массиву с помощью Array.FindAll()
Мой код выглядит следующим образом:
var SomeAccounts = Array.FindAll(Accounts, x => x.modification_date > modification_date);
if (SomeAccounts == null)
{
return NotFound();
}
return Ok(JsonConvert.SerializeObject(SomeAccounts));
Учетные записи массив имеет modification_date поле, но то, что приходит обратно все счета. В моем тестовом образце, 2 имеют ультрасовременные даты> 15 мая 2016 г. Этот вид кода работает в других областях, но не на дату, которая просто:
public DateTime modification_date { get; set; }
Что я делаю не так?
Начните с итерации, чтобы увидеть, как-то он разбивается на Serialize. Разбейте его, чтобы узнать, откуда они берутся. – Paparazzi
Убедитесь, что значения 'DateTime' находятся в одном и том же часовом поясе и имеют один и тот же' .Kind'. Сравнение даты не так просто, как выглядит на поверхности. –
Возвращенный массив никогда не является нулевым, это пустой массив. [Документация] (https://msdn.microsoft.com/en-us/library/1kkxfxdd (v = vs.110) .aspx): _ «Массив, содержащий все элементы, которые соответствуют условиям, определенным указанным предикатом, если найдено, в противном случае - пустой массив ». _ –