Я хочу добавить List<Object> buffer
к List<List<Object> output
с output.Add(buffer)
.
Но когда я выполняю buffer.Clear();
сразу после того, как добавил его в свой output
список, список объектов в output
внезапно становится пустым.
Как я могу сохранить свои значения в output
при очистке buffer
на каждой итерации, и почему это вообще происходит?
List<List<Tris>> faceSort()
{
List<List<Tris>> output = new List<List<Tris>>(); //Output sorted list
List<Tris> mod = constructModel(); //construct new model, gets smaller
List<Tris> buffer = new List<Tris>();
Vector3[] currentFace = new Vector3 [3];
Vector3 normal = new Vector3();
while (mod.Any())
{
currentFace[0] = mod[0].v1;
currentFace[1] = mod[0].v2;
currentFace[2] = mod[0].v3;
normal = mod[0].normale;
for (int i = 0; i < mod.Count; i++)
{
if(Vector3.Distance(normal,mod[i].normale)<= 0.1 && surfCheck(currentFace, mod[i].v1))
{
buffer.Add(mod[i]);
mod.Remove(mod[i]);
i--;
}
}
output.Add(buffer);
buffer.Clear();
}
return output;
}
Вот Отладчик после output.Add(buffer)
и до нажатия Clear();
до
И здесь после выполнения buffer.Clear();
после