Сериализация в один файл - C#
Формулировка задачи:
Здравствуйте!
У меня есть три обьекта одного класса, которые я хочу сериализовать в один файл с помощю BinaryFormatter(и десериализовать потом обратно). Это возможно или в данном случае сериализовать эти обьекты можно только в разные файлы?
Суть в том, что подобных обьектов может быть и не три а 10 допустим, и тогда не подойдем ручной ввод нового имени каждому потоку.
Решение задачи: «Сериализация в один файл»
textual
Листинг программы
var fileName = "user.dat"; var users = new List<User> { new User("Tommi", 29), new User("Mark", 20), new User("Danny", 34) }; var binFormat = new BinaryFormatter(); using (var fs = new FileStream(fileName, FileMode.Create)) { foreach (var user in users) { binFormat.Serialize(fs, user); } } using (var fs = new FileStream(fileName, FileMode.Open)) { while (fs.Length != fs.Position) { var dsUser = (User) binFormat.Deserialize(fs); Console.WriteLine("Имя: {0} \t Возраст: {1}", dsUser.Name, dsUser.Age); } } Console.ReadLine();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д