Я работаю над проектом, в котором у меня есть список объектов со вложенным списком, для которого я хочу сделать резервную копию, прежде чем обновлять исходный список.
Я близок, но явозникли проблемы с поиском правильного синтаксиса, поэтому я надеюсь, что вы поможете мне здесь.
Это оригинальный класс:
public class TeamClass
{
public string Country { get; set; }
public string CountryCode { get; set; }
public List<double> Points { get; set; }
}
List<TeamClass> originalList = new List<TeamClass>();
Непосредственно перед обновлением точек в OriginalList, который я хочу создатьглубокая копия OriginalList, чтобы я мог «отменить» изменения.
В настоящее время я использую код ниже:
var backupList = Simulation.ConvertAll(x => new TeamClass
{
Country = x.Country,
CountryCode = x.CountryCode,
Points = new List<double>(x.Points.ConvertAll(p => new double()))
})
.OrderByDescending(o => o.Points.Sum())
.ToList();
Хотя этот код создает глубокую копию исходного списка,он заменяет все точки в списке Точки на 0 (из-за нового двойного ())
Однако использование
Points = x.Points
дает мне правильные очки, но они обновляются, когда оригиналсписок обновляется.
Я думаю, что должен сделать что-то вроде
Points = new List<double>().AddRange(x.Points)
Но я не могу найти правильный синтаксис.
Любая помощь приветствуется.