Поиск Arraylist не работает - PullRequest
0 голосов
/ 23 марта 2011

Ниже приведен фрагмент кода, который я пытаюсь использовать для поиска по списку. Я использовал код, очень похожий на этот, в другой форме, и это сработало. Однако здесь это не имеет. Он предназначен для поиска номера клиента в Arraylist на frmMain, затем он ищет тот номер счета клиента, который введен пользователем. Но по какой-то причине он почти пропускает второй оператор if и переходит к сообщению об ошибке внизу.

Arraylist находится в frmMain, затем есть классы для учетной записи клиента и транзакции. В Customer есть еще один ArrayList, хранящий учетные записи, затем в классе учетных записей есть ArrayList, хранящий транзакции по счету клиента.

        foreach (Customer a in frmMain.bankDetails)
        {
            if (a.getCustomerNumber().ToUpper().Equals(custSearch))
            {
                foreach (Account b in a.Accounts)
                {
                    if (b.getAccNumber().Equals(searchString))
                    {
                        txtSearch.BackColor = Color.PaleGreen;
                        txtAccSortCode.Text = b.getAccSort();
                        txtAccNumber.Text = Convert.ToString(b.getAccNumber());
                        txtAccNickName.Text = b.getAccNick();
                        txtAccDate.Text = b.getAccDate();
                        txtAccCurBal.Text = Convert.ToString(b.getAccCurBal());
                        txtAccOverDraft.Text = Convert.ToString(b.getAccOverDraft());
                        txtNumTrans.Text = Convert.ToString(b.getAccNumTrans());
                        found = true;
                        break;
                    }
                }
            }
        }

Любая помощь приветствуется!

Ответы [ 2 ]

1 голос
/ 23 марта 2011

Если b.getAccNumber() возвращает int и searchString является строкой, то она всегда будет возвращать false. Например:

int int_four = 4;
string string_four = "4";
bool eq1 = int_four.Equals(string_four); // false
bool eq2 = int_four.ToString().Equals(string_four); // true
0 голосов
/ 23 марта 2011

является ли свойство "getCustomerNumber" фактическим числом (целым числом) или нет?Что я думаю, что это не так, потому что вы не будете использовать метод ToUpper ().Также есть письмо (я думаю).

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

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