List<Person> parts = new List<Person>(); XmlSerializer xs = new XmlSerializer(typeof(List<Person>)); //Код десериализации ломает программу if (File.Exists("person.xml")){ using (FileStream fs = new FileStream("person.xml", FileMode.OpenOrCreate)) { List<Person> newParts = (List<Person>)xs.Deserialize(fs); Console.WriteLine("Объект десериализован");} }while (true) { Console.WriteLine("Введите команду:"); string com = Console.ReadLine(); if (com.ToLower() == "exit") { using (FileStream fs = new FileStream("person.xml", FileMode.OpenOrCreate)) { xs.Serialize(fs, parts); // Console.WriteLine("Объект сериализован"); } return; } if (com.ToLower() == "add") { string name; Console.WriteLine("Name?"); name = Console.ReadLine(); Person p = new Person(name); parts.Add(p); } if (com.ToLower() != "add") { Console.WriteLine("Доступные команды:"); Console.WriteLine("\tadd создать запись сотрудника"); Console.WriteLine("\texit Выйти и сохранить данные"); Console.ReadKey(); continue; } } } } [Serializable] public class Person { public string Name { get; set; } public Person() { } public Person(string name) { Name = name; } } } Hello! I'm doing a database. The console menu. With the "add" command, I add an employee (name) to the parts collection. When I exit, I serialize xml to the file person.xml. Everything is going great. But when I insert the code, so that when I run it, I check this file and deserialize it, the program breaks down. What could be the reason?