Вы не опубликовали никакого кода, поэтому я собираюсь угадать проблему. Как вы описываете, вы сериализуете коллекцию строк в файл XML, но когда вы десериализовали ее, вы заметили, что записи Дублируясь, это распространенный сценарий, когда ваша коллекция сначала имеет значения по умолчанию в классе, поэтому при десериализации из xml сериализатор xml не создает новую коллекцию строк, вместо этого он использует метод Add
в перечислите и добавьте строки в вашу существующую коллекцию. Пример:
[Serializable()]
public class Foo
{
private List<string> _myList = new List<string>(new string[] { "Some", "Data" });
public List<string> MyList
{
get { _myList = value;}
set { return _myList; }
}
public Foo() {}
}
В предыдущем классе "Foo
", если вы создадите новый экземпляр Foo foo = new Foo();
и сериализуете его в xml, он будет сериализован правильно, но когда вы десериализуете его, вы обнаружите, что элементы коллекции были продублировано "Some, Data, Some, Data"
.