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
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser LINQ
Ignorer
etet votre code sera plus propre.
Remarque: Si les éléments sont de moins de 100
Take
serait vous donner le reste.Vous pouvez garder un explicite des variables pour le point de fin: