Вы не можете повторно использовать дочерний список.Списки являются классами и, следовательно, ссылочными типами.Это означает, что вы фактически не сохраняете сам объект дочернего списка в родительском списке, а ссылаетесь на созданный вами уникальный дочерний список.В результате все позиции списка указывают на один и тот же уникальный дочерний список.Вы должны каждый раз создавать новый дочерний список.
List<List<T>> parent = new List<List<T>>();
for (counter = 0; counter <= group.Count - 2; counter++)
{
if (condition)
{
var child = new List<T>();
child.Add(element);
child.Add(element2);
parent.Add(child);
}
}
Это можно визуализировать следующим образом:
child list object
variable +-----------+
+-------+ | |
|child o------------>| |
+-------+ | |
| |
| |
| |
| |
| |
+-----------+
Результат повторного использования списка будет:
child list
+-----------+
parent list +--->| |
+--------+ | |-----------|
| |o----->| | |
|--------| | |-----------+
| |o----->| | |
|--------| | +-----------+
| |o----->|
|--------| |
| |o----->|
|--------| |
| |o------+
+--------+