我想優化搜索大文本文件(300-600mb)中的字符串。使用我目前的方法,它耗時太長。c#搜索大文本文件
目前我一直在使用IndexOf
來搜索字符串,但所花費的時間太長(20s),以便爲每個包含字符串的行建立一個索引。
如何優化搜索速度?我試過Contains()
,但那也很慢。有什麼建議麼?我想正則表達式匹配,但我沒有看到有顯着的速度提升。也許我的搜索邏輯是有缺陷的
例如
while ((line = myStream.ReadLine()) != null)
{
if (line.IndexOf(CompareString, StringComparison.OrdinalIgnoreCase) >= 0)
{
LineIndex.Add(CurrentPosition);
LinesCounted += 1;
}
}
你在找什麼?話? – Lloyd
什麼是您的CompareString ..請顯示您正在尋找的示例.. – MethodMan
您確定這是搜索的部件?需要多長時間不做任何檢查,只需逐行讀取文件? –