Member 14984719 Ответов: 2

Как найти наименьшее и наибольшее число в столбце listview C#


Привет всем,

Я новичок в c#.

Я пытаюсь показать маленькое и самое большое число в текстовом поле из listview; однако это не удалось после того, как я потратил 3 часа на google и попытался это исправить.

Простой вид выглядит следующим образом:

Сидней,5230330,Город
Мельбурн,4936349,Город
Брисбен,2462637,Город
Нельсон-Бей,28051,Город
Мэриборо,27282,Город

Пожалуйста, помогите мне исправить это и заранее благодарю вас всех.

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

private void calculateButton_Click(object sender, EventArgs e)
        {
            //Find the larget population

            Decimal iMax = 0;
            Decimal iMin = 0;
           
            foreach (ListViewItem o in this.listView1.Items)
            {
                iMax = iMax + Convert.ToDecimal(o.SubItems[1].Text);
            }
            Decimal maximum1 = Math.Max(iMax, iMin);
            largestTextBox.Text = maximum1.ToString();
            


            foreach (ListViewItem o in this.listView1.Items)
            {
                iMin = iMin + Convert.ToDecimal(o.SubItems[1].Text);
            }
            Decimal minimum = Math.Min(iMin, iMax);
            smallestTextBox.Text = minimum.ToString();
        }

George Swan

Попробуйте работать с данными из резервной коллекции, которая используется для отображения, а не с отображаемым списком.

2 Ответов

Рейтинг:
2

Gerry Schmitz

Почему вы "подводите итоги"? Min / max не использует суммы.

Для первого элемента это как минимум, так и максимум (назначение).

После этого "новый" min-это следующий элемент, если он меньше Min,
в противном случае новый Макс-это следующий элемент, больший, чем Макс.

В конце концов, у вас есть мин и Макс.


Рейтинг:
0

Patrice T

Цитата:
Я пытаюсь показать маленькое и самое большое число в текстовом поле из listview; однако это не удалось после того, как я потратил 3 часа на google и попытался это исправить.

Сначала потренируйтесь находить min a&nd max в списке чисел вручную с помощью листа бумаги и карандаша.
Очевидно, вы уже нашли функции для поиска минимума или максимума из 2 чисел, попробуйте воспользоваться ими.
Обратите внимание, что max и min решаются с использованием одной и той же процедуры.
Ответы на эти вопросы-ваш алгоритм.
- в списке из 1 числа, как вы находите минимум ?
- в списке из 2 чисел, как вы находите минимум ?
- вы знаете минимум списка, если вы добавите 1 число, как вы найдете новый минимум ?