xpathを使用して、xmlファイルから日付のソートされたリスト(dd/mm/yyyyの形式でストリングとして保管)を取り込みました。期待通りの結果が得られないBinarySearch
リスト内に日付があるかどうかを調べるときに、リスト内の日付と一致するようにクエリ文字列をハードコードしていても、常にマイナスの結果(つまり存在しません)が得られます。
しかし、クエリされた文字列を含むインデックスで文字列比較を実行すると、文字列が同一であることを示す0が返されます。
この奇妙な動作の原因は何ですか?
ここで要求されたように、コード
の祝日であるによって作成された:
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;
AND検索は次のとおりです。次のXMLが返されると
holidays = list.getHolidays();
if(holidays.BinarySearch(DateTime.Now.ToShortDateString()) > 0)
:
<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>
サンプルコードを投稿できますか? – LukeH
現在の実装は何ですか? – Richard
ソート順を再確認してください。 –