Traiter une liste avec une boucle, en prenant 100 éléments à chaque fois et automatiquement moins de 100 à la fin de la liste

Est-il un moyen d'utiliser une boucle qui prend le premier 100 articles dans une grande liste, fait quelque chose avec eux, puis les 100 prochaines etc, mais quand il s'approche de la fin automatiquement réduit le "100" étape pour les éléments restants.

Actuellement, je utiliser deux si les boucles:

for (int i = 0; i < listLength; i = i + 100)
{
    if (i + 100 < listLength)
    {
        //Does its thing with a bigList.GetRange(i, 100)
    }
    else
    {
        //Does the same thing with bigList.GetRange(i, listLength - i)
    }
}

Est-il une meilleure manière de faire ceci? Si non je vais au moins faire la "chose", une fonction de sorte que le code ne doit pas être copié deux fois.

source d'informationauteur SecondLemon