Вывод значений массива list

Есть приложение Олимпийских игр. Есть регистрация спортсменов. Есть массив list результатов стрельбы. Для каждого спортсмена нужно выводить его 3 выстрела. Вот код:

for (int i = 0; i < Sports.Count; i++)
{
    Console.WriteLine($"Спортсмен - {Sports[i]}");
    Console.WriteLine("---------------------------------------------");
    Console.WriteLine($"Лук - {Bows[i]}");
    Console.WriteLine("---------------------------------------------");
    Console.ResetColor();
    foreach (var item in Results)
    {
        numbers++;
        middle += item;
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine($"Результат {numbers} выстрела - {item}");
        Console.WriteLine("--------------------------------------------");
        Console.ResetColor();
    }
    numbers = 0;
    Console.ForegroundColor = ConsoleColor.Cyan;
    Console.WriteLine($"Среднее значение - {middle / 3}");
    Console.WriteLine("---------------------------------------------");
    Console.ResetColor();
} 

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

---------------------------------------------
Страница результатов.
---------------------------------------------
Спортсмен - Tera
---------------------------------------------
Лук - 1
---------------------------------------------
Результат 1 выстрела - 66
--------------------------------------------
Результат 2 выстрела - 60
--------------------------------------------
Результат 3 выстрела - 51
--------------------------------------------
Результат 4 выстрела - 86
--------------------------------------------
Результат 5 выстрела - 36
--------------------------------------------
Результат 6 выстрела - 80
--------------------------------------------
Результат 7 выстрела - 97
--------------------------------------------
Результат 8 выстрела - 46
--------------------------------------------
Результат 9 выстрела - 46
--------------------------------------------
Среднее значение - 189
---------------------------------------------
Спортсмен - Yuogr
---------------------------------------------
Лук - 2
---------------------------------------------
Результат 1 выстрела - 66
--------------------------------------------
Результат 2 выстрела - 60
--------------------------------------------
Результат 3 выстрела - 51
--------------------------------------------
Результат 4 выстрела - 86
--------------------------------------------
Результат 5 выстрела - 36
--------------------------------------------
Результат 6 выстрела - 80
--------------------------------------------
Результат 7 выстрела - 97
--------------------------------------------
Результат 8 выстрела - 46
--------------------------------------------
Результат 9 выстрела - 46
--------------------------------------------
Среднее значение - 378
---------------------------------------------
Спортсмен - Rega
---------------------------------------------
Лук - 2
---------------------------------------------
Результат 1 выстрела - 66
--------------------------------------------
Результат 2 выстрела - 60
--------------------------------------------
Результат 3 выстрела - 51
--------------------------------------------
Результат 4 выстрела - 86
--------------------------------------------
Результат 5 выстрела - 36
--------------------------------------------
Результат 6 выстрела - 80
--------------------------------------------
Результат 7 выстрела - 97
--------------------------------------------
Результат 8 выстрела - 46
--------------------------------------------
Результат 9 выстрела - 46
--------------------------------------------
Среднее значение - 568
---------------------------------------------

Но получается вот такой вывод. Я понимаю, что массив выводиться полностью. Сначала я думал выводить по индексу, выводя только первые 3, потом следующие 3 и тд. В итоге я пробовал через цикл for но это тоже не помогло. Какие есть варианты решения?


Ответы (1 шт):

Автор решения: Blackmeser
for (int i = 0; i < Sports.Count; i++)
{
   Console.WriteLine($"Спортсмен - {Sports[i]}\n---");
   Console.WriteLine($"Лук - {Bows[i]}\n---");
   float average = 0;
   for (int j = 0; j < 3; j++)
   {
      var result = Results[i*3+j];
      average += result;
      Console.WriteLine($"Результат {j} выстрела - {result}\n---");
   }
   Console.WriteLine($"Среднее значение - {average / 3}\n---");
}
→ Ссылка