ソートされた StringList があり、置き換えたい
foreach (string line3 in CardBase.cardList)
if (line3.ToLower().IndexOf((cardName + Config.EditionShortToLong(edition)).ToLower()) >= 0)
{
return true;
}
cardList はかなり大きく (~18k)、この検索は時間の約 80% を占めるため、binarySearch を使用します。
だから私は List.BinarySearch-Methode を見つけましたが、私の問題は cardList の行が次のようになっていることです:
Brindle_Boar_(Magic_2012).c1p247924.prod
しかし、私は c1p... を生成する方法がありません。これは List.BinarySearch が正確な一致しか見つけられない原因となる問題です。
文字列の一部のみが一致する場合に一致を見つけるように List.BinarySearch を変更するにはどうすればよいですか?
たとえば、Brindle_Boar_(Magic_2012) を検索すると、Brindle_Boar_(Magic_2012).c1p247924.prod の位置が返されます。