Я создаю приложение индексатора на основе дерева суффиксов, которое позволяет мне очень быстро индексировать целые документы и строки поиска, подстроки и т. Д.
То, что я делаю, - это ввод строки в текстовое поле, нажатие кнопки и запуск функции, которая запрашивает суффиксное дерево и добавляет позиции всех вхождений строки в список. Так что в списке есть много целых чисел.
Обычно это работает нормально. Например, поиск по словам «мастера», «Гэндальфа» или «хоббита» (я индексирую FOTR в качестве теста: D) работает нормально и модно. Тем не менее, я пробую это сейчас с буквой е.
Проблема в том, что позиции буквы e отображаются в списке. Всего 88974 из них. Однако, когда я прокручиваю вниз, перетаскивая кнопку прокрутки, появляется список, чтобы циклически вернуться к вершине, когда я нахожусь на отметке 60000 или около того. Проблема усугубляется тем, что я пробовал прокрутить страницу вниз, и все работает нормально.
Я знаю, что прокрутка элементов 88974 (на основе listbox.Items.Count) немного экстремальна, но логически нет причины, по которой такая проблема должна быть.
Спасибо, что прочитали это далеко!
РЕДАКТИРОВАТЬ: Всем, кто ответил, спасибо за ответ. Я наконец-то реализовал это с помощью списка, и это намного быстрее, и может содержать многие элементы довольно хорошо. Спасибо!