Группировка результатов из for-l oop C# - PullRequest
0 голосов
/ 05 мая 2020

Первый раз задаю вопрос о Stackoverflow, скрестив пальцы! Я новичок в программировании и изо всех сил пытаюсь решить проблему. Я получил это для l oop:

            for (int i = 0; i < antal.Count(); i++)
        {
            tbxResultat.AppendText(namnLista.ElementAt(i) + " \t");
            tbxResultat.AppendText(personnummerLista.ElementAt(i).ToString() + " \t");
            tbxResultat.AppendText(distriktLista.ElementAt(i) + " \t");
            tbxResultat.AppendText(antal.ElementAt(i).ToString() + newLine);
        }

Я хочу сгруппировать результаты из l oop в 4 раздела: первые значения 0-49, вторые 50-99, третьи 100-199 и четвертый 199. Мне интересно узнать, сколько в каждом разделе и напечатать его справа от каждого раздела, например:

23  
37
---------------------------------
Total count of 2 in first section.

Я пробовал помещать for-l oop в if statments, но безуспешно. Сортировка списка выполняется с помощью пузырьковой сортировки, которую я изменил, чтобы взять список вместо массива. Любые советы в правильном направлении будут очень ценны! / Дрон

1 Ответ

0 голосов
/ 05 мая 2020

Этот код должен быть тем, что вы просили. Обратите внимание на while там. Это не if, потому что могут быть группы с нулевыми элементами, поэтому вам также придется обрабатывать их.

int groupLimit = 50;
int elementsInGroup = 0;
for (int i = 0; i < antal.Count(); i++, elementsInGroup++)
{
    while (antal[i] >= groupLimit)
    {
        // Write summary here. Use elementsInGroup..

        groupLimit += 50;
        elementsInGroup = 0;
    }

    // Write one row here. I suggest building the string and calling only one AppendText..
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...