大きなテキストファイル(300〜600 MB)で文字列の検索を最適化しようとしています。私の現在の方法を使用すると、時間がかかりすぎます。
現在IndexOf
、文字列の検索に使用していますが、文字列を使用して各行のインデックスを作成するには時間がかかりすぎます(20秒)。
検索速度を最適化するにはどうすればよいですか?私は試しましContains()
たが、それも遅いです。助言がありますか?正規表現の一致を考えていましたが、大幅な速度の向上は見られません。たぶん私の検索ロジックに欠陥があります
例
while ((line = myStream.ReadLine()) != null)
{
if (line.IndexOf(CompareString, StringComparison.OrdinalIgnoreCase) >= 0)
{
LineIndex.Add(CurrentPosition);
LinesCounted += 1;
}
}