Ich versuche, eine Teilmenge der Datensätze aus einem Array basierend auf Datum zurückgeben.Iterieren über ein Array mit Array.FindAll()
Mein Code sieht wie folgt aus:
var SomeAccounts = Array.FindAll(Accounts, x => x.modification_date > modification_date);
if (SomeAccounts == null)
{
return NotFound();
}
return Ok(JsonConvert.SerializeObject(SomeAccounts));
Die Konten Array hat eine modification_date Feld aber was kommt zurück ist alle Konten. In meinem Testprobe haben 2 mod Daten> 15. Mai 2016. Diese Art von Code funktioniert für andere Felder, aber nicht für das Datum, die gerade ist:
public DateTime modification_date { get; set; }
Was mache ich falsch?
Beginnen Sie mit Iteration, um zu sehen, ob es bei Serialize irgendwie bricht. Zerlegen Sie es, um herauszufinden, woher der Fehler stammt. – Paparazzi
Stellen Sie sicher, dass Ihre 'DateTime'-Werte in der gleichen Zeitzone liegen und vom selben' .Kind' sind. Der Datumsvergleich ist nicht so einfach wie auf der Oberfläche. –
Das zurückgegebene Array ist nie null, es ist dann ein leeres Array. [Dokumentation] (https://msdn.microsoft.com/en-us/library/1kkxfxdd (v = vs.110) .aspx): _ "Ein Array, das alle Elemente enthält, die den Bedingungen entsprechen, die durch das angegebene Prädikat definiert sind, falls gefunden, andernfalls ein leeres Array. "_ –