Поиск большого текстового файлаC#

Место общения программистов C#
Ответить
Гость
 Поиск большого текстового файла

Сообщение Гость »


Я пытаюсь оптимизировать поиск строки в большом текстовом файле (300-600 МБ). Используя мой текущий метод, это занимает слишком много времени.

В настоящее время я использую IndexOf для поиска строки, но для построения индекса для каждой строки со строкой требуется слишком много времени (20 секунд).

Как оптимизировать скорость поиска? Я пробовал Contains(), но это тоже медленно. Какие-либо предложения? Я думал о совпадении регулярных выражений, но не вижу, чтобы это значительно увеличило скорость. Возможно, моя логика поиска ошибочна

пример
while ((line = myStream.ReadLine()) != null) { if (line.IndexOf(CompareString, StringComparison.OrdinalIgnoreCase) >= 0) { LineIndex.Add(ТекущаяПозиция); ЛинесКаунтед += 1; } }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»