Оптимизация кода для поиска текста в форме richtextbox windows - PullRequest
1 голос
/ 22 января 2020

У меня есть приложение формы windows, которое использует RichTextBox для отображения текста из файла. Также есть TextBox и Button для поиска по тексту. Всякий раз, когда нажимается кнопка, содержимое TextBox ищется и просвечивается в RichTextBox. Вот код в обработчике события button_Click:

String search = richtextboxContent.Text;
richtextboxContent.Text = "";
richtextboxContent.Text = search;

#region code Search
string keyword = textboxsearch.Text.Trim();
int startPosition = 0;
int endPosition = 0;
int endArticle = richtextboxContent.Text.Length;
for (int i = 0; i < endArticle; i = startPosition)
{
    if (i == -1)
    {
        break;
    }
    startPosition = richtextboxContent.Find(keyword, startPosition, endArticle, RichTextBoxFinds.None);
    if (startPosition >= 0)
    {
        count++;
        richtextboxContent.SelectionBackColor = Color.Yellow;
        endPosition = textboxsearch.Text.Length;
        startPosition = startPosition + endPosition;
    }
}

У меня есть один текстовый файл размером 20 Мб с 90 000 ++ строк, каждый раз, когда я ищу одно слово (что привело к 1300 совпадениям), код ниже более 10 минут до фини sh.

Как это можно улучшить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...