Наименее номер не отображается в окне просмотра списка - PullRequest
0 голосов
/ 06 июля 2018

Так что у меня есть этот кусок кодов, который показывает частоту книги. Моя проблема заключается в том, что когда я сначала вводю небольшое число, а затем большое число, небольшое число не переносится в поле списка наименьшего числа. Я что-то пропустил?

public void evaluate()
{
    string bookTitle = txtBookTitle.Text;
    string frequency = txtTimesBorrowed.Text;
    int f = Int32.Parse(frequency);

    string[] book = { bookTitle, frequency };
    var lstVBookItems = new ListViewItem(book);
    lstVBooks.Items.Add(lstVBookItems);

    if (f > mostF)
    {
        var lstVBooksMost = new ListViewItem(book);

        lstVFBooks.Items.Clear();
        lstVFBooks.Items.Add(lstVBooksMost);

        mostF = Int32.Parse(lstVFBooks.Items[0].SubItems[1].Text);

        // mostF== leastF = Int32.Parse(lstVLBooks.Items[0].SubItems[1].Text); 
    }
    else if (f == mostF)
    {
        var lstVBooksMost = new ListViewItem(book);
        lstVFBooks.Items.Add(lstVBooksMost);
        mostF = Int32.Parse(lstVFBooks.Items[0].SubItems[1].Text);
    }
    else if (f < mostF && f == leastF)
    {
        var lstVBooksLeast = new ListViewItem(book);
        lstVLBooks.Items.Add(lstVBooksLeast);
        leastF = Int32.Parse(lstVLBooks.Items[0].SubItems[1].Text);
    }
    else if (f < mostF)
    {
        var lstVBooksLeast = new ListViewItem(book);
        lstVLBooks.Items.Clear();
        lstVLBooks.Items.Add(lstVBooksLeast);
        leastF = Int32.Parse(lstVLBooks.Items[0].SubItems[1].Text);
    }
}

Это образец: This is the sample

Math не отображается в поле наименьшего списка: Math is not showing on the least list box

1 Ответ

0 голосов
/ 06 июля 2018

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

Кроме того, вам не нужно каждый раз создавать элемент представления списка, вы уже создали его вне ifs. То же самое касается частоты, вам не нужно анализировать снова, поскольку у вас уже есть значение в переменной f.

public void evaluate()
{
    string bookTitle = txtBookTitle.Text;
    string frequency = txtTimesBorrowed.Text;
    int f = Int32.Parse(frequency);

    string[] book = { bookTitle, frequency };
    var lstVBookItems = new ListViewItem(book);
    lstVBooks.Items.Add(lstVBookItems);

    if(lstVFBooks.Items.Count == 0 && lstVLBooks.Items.Count == 0)
    {
        lstVFBooks.Items.Add(lstVBookItems);
        lstVLBooks.Items.Add(lstVBookItems);
        mostF = f;
        leastF = f;
    }
    else if (f > mostF)
    {
        lstVFBooks.Items.Clear();
        lstVFBooks.Items.Add(lstVBookItems);
        mostF = f;
    }
    else if (f == mostF)
    {
        lstVFBooks.Items.Add(lstVBookItems);
        mostF = f;
    }
    else if (f < mostF && f == leastF)
    {
        lstVLBooks.Items.Add(lstVBookItems);
        leastF = f;
    }
    else if (f < mostF)
    {
        lstVLBooks.Items.Clear();
        lstVLBooks.Items.Add(lstVBookItems);
        leastF = f;
    }
}
...