Czy istnieje sposób na użycie pętli, która zajmuje pierwsze 100 pozycji na dużej liście, robi coś z nimi, następnie 100 itd., ale gdy zbliża się koniec, automatycznie skraca krok "100" do pozostałych elementów.Przetwarzaj listę z pętlą, pobierając po 100 elementów za każdym razem i automatycznie mniej niż 100 na końcu listy.
Obecnie muszę używać dwóch czy pętle:
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)
}
}
Czy istnieje lepszy sposób to zrobić? Jeśli nie, to przynajmniej sprawię, że "rzecz" będzie funkcją, więc kod nie musi być kopiowany dwa razy.
możliwe duplikat [Lista podzielona na podlisty z LINQ] (http://stackoverflow.com/questions/419019/split-list-into-sublists-with-linq) - to zachowanie chunkifying jest dokładnie to, co jest zapytał, po prostu z LINQ nie tylko za pomocą zwykłych pętli i zmiennych. Więc może nie dokładny duplikat, ale wciąż warty rozważenia i warty przeczytania. – quetzalcoatl