Как клонировать LinkedList поля в List-e
Есть List<Clone> Clones
в котором лежат Clone с полями LinkedList<string> LearnedProgramm
и LinkedList<string> CancelledProgramm
надо одного клона копировать в другого при этом они должны изменяться отдельно.
public void Clone(int cloneNumber)
{
Clone newClone = new();
foreach (var learnedProgramm in Clones[cloneNumber].LearnedProgramm)
{
newClone.LearnedProgramm.AddLast(learnedProgramm);
}
foreach (var cancelledProgramm in Clones[cloneNumber].CancelledProgramm)
{
newClone.CancelledProgramm.AddLast(cancelledProgramm);
}
Clones.Add(newClone);
}
Выше - пример рабочего кода, но при использовании foreach
очень сильно падает скоростью.
Как это сделать без понятия.
Если делать через простое присвоение, то при изменении одного клона меняется и другой
Источник: Stack Overflow на русском