Я пытаюсь разбить список на серию меньших списков.
Моя проблема:Моя функция разделения списков не разбивает их на списки нужного размера. Он должен разбить их на списки размером 30, но вместо этого разбивает их на списки размером 114?
Как я могу заставить свою функцию разделить список на X списков размером 30 или меньше ?
public static List<List<float[]>> splitList(List <float[]> locations, int nSize=30)
{
List<List<float[]>> list = new List<List<float[]>>();
for (int i=(int)(Math.Ceiling((decimal)(locations.Count/nSize))); i>=0; i--) {
List <float[]> subLocat = new List <float[]>(locations);
if (subLocat.Count >= ((i*nSize)+nSize))
subLocat.RemoveRange(i*nSize, nSize);
else subLocat.RemoveRange(i*nSize, subLocat.Count-(i*nSize));
Debug.Log ("Index: "+i.ToString()+", Size: "+subLocat.Count.ToString());
list.Add (subLocat);
}
return list;
}
Если я использую функцию для списка размером 144, то вывод будет:
Index: 4, Size: 120
Index: 3, Size: 114
Index: 2, Size: 114
Index: 1, Size: 114
Index: 0, Size: 114