Galarist_00 Ответов: 0

Как исправить двоичный поиск в winform C#


Моя проблема заключается в том, что когда я импортирую csv-файл в datagridview, то двоичный поиск работает очень хорошо. И во второй раз тоже. После третьего раза двоичный поиск не работает хорошо. Он не находит никаких объектов из списка ArrayList.
Я использую приложение Windows для этого проекта.

Что я уже пробовал:

Добавление данных в ArrayList после импорта csv:
ListOfPeople.Add(Something.Trim());


Преобразование значений datagridview в ArrayList перед поиском в двоичном формате:
foreach (var row in dataGridView2.Rows.Cast<DataGridViewRow>())
{
    ListOfPeople[row.Index] = row.Cells[0].Value.ToString().Trim();
}

ListOfPeople-это имя ArrayList.

Двоичный Поиск Код:
int index = this.ListOfPeople.BinarySearch(textBoxBinarySearch.Text);
if (index != -1)
{
        dataGridView2.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect;
        dataGridView2.Rows[index].Selected = true;
        dataGridView2.CurrentCell = dataGridView2.Rows[index].Cells[0];
        MessageBox.Show("Index is equal to: " + index, "Binary Search");

        textBoxBinarySearch.Clear();
    }

Gerry Schmitz

Почему вы продолжаете "импортировать"? Вы "очищаете" перед каждым импортом? Или просто продолжать "добавлять"?

Galarist_00

Мне нужно импортировать файл. Я исправил свою проблему, добавив ArrayList.Очистить(); прежде чем импортировать другой файл CSV, если я понятно объекте datagridview.

0 Ответов