ich eine sortierte Liste von Daten bevölkert habe (gespeichert als Strings im Format TT/MM/JJJJ) aus einer XML-Datei mit XPath.Binary nicht zu haben erwartete Ergebnisse
Wenn ich jedoch die Liste abfrage, um zu sehen, ob ein Datum in der Liste existiert, bekomme ich immer ein negatives Ergebnis (d. H. Existiert nicht), obwohl ich hardcode die Abfragezeichenkette einem Datum in der Liste zuordnen kann.
Wenn jedoch auf dem Index ein String vergleichen zu tun, die die abgefragten Zeichenfolge enthält bekommen I 0 angibt, die Strings identisch sind.
Was kann dieses seltsame Verhalten verursachen?
Wie hier angefordert ist der Code
Urlaub bevölkert von:
while (iter.MoveNext())
{
XPathNavigator nav2 = iter.Current;
XPathNodeIterator iter2 = nav2.SelectDescendants("date", "", false);
while (iter2.MoveNext())
{
date = iter2.Current.ToString();
holidays.Add(date);
}
}
return holidays;
Und die Suche ist:
holidays = list.getHolidays();
if(holidays.BinarySearch(DateTime.Now.ToShortDateString()) > 0)
Mit dem folgenden XML zurückgegeben wird:
<date>01/01/2009</date>
<date>25/02/2009</date>
<date>10/04/2009</date>
<date>13/04/2009</date>
<date>04/05/2009</date>
<date>25/05/2009</date>
<date>31/08/2009</date>
<date>25/12/2009</date>
<date>28/12/2009</date>
Können Sie einen Beispielcode posten? – LukeH
Was ist Ihre aktuelle Implementierung? – Richard
überprüfen Sie Ihre Sortierreihenfolge? –