Как сравнить некоторые элементы в ListBox со строковым значением - PullRequest
0 голосов
/ 10 октября 2018

Я создаю программу, которая должна сравнивать имя, которое вводит пользователь, с банком имен в списке.Программа должна сравнивать все имена одно за другим, буква за буквой, чтобы найти лучшее совпадение.Как я должен выбрать значение в списке, чтобы сравнить его со строкой?И как я могу сравнить букву за буквой?

 private void btnRechercher_Click(object sender, EventArgs e)
    {

        if (txtName.Text.Length == 0)
        {
            MessageBox.Show("Enter a name.", "Error");
        }
        else
        {
            txtName.Text = txtName.Text.ToUpper();

            string sName = txtName.ToString();
            byte byEquivalentLetters = 0;

            if (this.lstName.Items.Count > 0)
            {
                {
                    if (chkExactResearch.Checked == true)
                    {
                        while (txtName.TextLength != 0)
                        {
                            // What do I write here?
                        }
                    }
                }
            }
        }

Обратите внимание, что в моем коде

txtName = LEA \ r \ nEMMA \ r \ nOLIVIA \ r \ nFLORENCE

1 Ответ

0 голосов
/ 10 октября 2018

Предполагая, что txtName является TextBox.Если вы хотите просто найти точно такую ​​же строку, этот код должен работать на любой версии .Net

        int foundIndex;
        if ((foundIndex = lstName.Items.IndexOf(txtName.Text)) != -1)
        {
            MessageBox.Show(lstName.Items[foundIndex].ToString());
        }

IndexOf () возвращает нулевой индекс, где элемент находится в коллекции;в противном случае, отрицательный (-1)

IndexOf ()

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