Я считаю, что с этим кодом:
for (int i = 0,next = 100; i < collection.Length; i++)
вы зацикливаетесь на всех записях своей коллекции.
вам следует изменить код и напечатать только 3 записи, после чего вы можете переключитьсяна следующую страницу и распечатайте следующие 3 записи и т. д.
вы можете сделать это с помощью команды break
, которая выходит из цикла, но у вас должна быть переменная для хранения ссылки, индекса или последней напечатанной записи, чтобывы можете перейти к следующему на следующей странице.
Я бы переосмыслил весь код, потому что может быть, что вложенность циклов могла бы быть улучшена, например, лично у меня был бы основной цикл вверхний уровень, который зацикливается на всех записях, а не на всех страницах, так что вы можете переключаться на следующую страницу в теле основного цикла, но никогда не оставлять цикл на всех записях, пока все они не будут распечатаны.