Я пытаюсь разбить список на ряд меньших списков.
Моя проблема: Моя функция разбиения списков не разбивает их на списки нужного размера. Он должен разбить их на списки размером 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, то вывод будет следующим:
Индекс: 4, Размер: 120
Индекс: 3, Размер: 114
Индекс: 2, Размер: 114
Индекс: 1, Размер: 114
Индекс: 0, Размер: 114