Сериализация в один файл - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! У меня есть три обьекта одного класса, которые я хочу сериализовать в один файл с помощю BinaryFormatter(и десериализовать потом обратно). Это возможно или в данном случае сериализовать эти обьекты можно только в разные файлы? Суть в том, что подобных обьектов может быть и не три а 10 допустим, и тогда не подойдем ручной ввод нового имени каждому потоку.

Решение задачи: «Сериализация в один файл»

textual
Листинг программы
  1.             var fileName = "user.dat";
  2.  
  3.             var users = new List<User>
  4.             {
  5.                 new User("Tommi", 29),
  6.                 new User("Mark", 20),
  7.                 new User("Danny", 34)
  8.             };
  9.  
  10.             var binFormat = new BinaryFormatter();
  11.             using (var fs = new FileStream(fileName, FileMode.Create))
  12.             {
  13.                 foreach (var user in users)
  14.                 {
  15.                     binFormat.Serialize(fs, user);
  16.                 }
  17.             }
  18.  
  19.             using (var fs = new FileStream(fileName, FileMode.Open))
  20.             {
  21.                 while (fs.Length != fs.Position)
  22.                 {
  23.                     var dsUser = (User) binFormat.Deserialize(fs);
  24.  
  25.                     Console.WriteLine("Имя: {0} \t Возраст: {1}", dsUser.Name, dsUser.Age);
  26.                 }
  27.             }
  28.  
  29.             Console.ReadLine();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы