Program.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using System.IO;
  3. using System.Runtime.Serialization.Formatters.Binary;
  4. namespace Serialization
  5. {
  6. [Serializable]
  7. class Person
  8. {
  9. public string Name { get; set; }
  10. public int Age { get; set; }
  11. public Person(string name, int age)
  12. {
  13. Name = name;
  14. Age = age;
  15. }
  16. }
  17. class Program
  18. {
  19. static void Main(string[] args)
  20. {
  21. // объект для сериализации
  22. Person person = new Person("Tom", 29);
  23. Console.WriteLine("Объект создан");
  24. // создаем объект BinaryFormatter
  25. BinaryFormatter formatter = new BinaryFormatter();
  26. // получаем поток, куда будем записывать сериализованный объект
  27. using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
  28. {
  29. formatter.Serialize(fs, person);
  30. Console.WriteLine("Объект сериализован");
  31. }
  32. // десериализация из файла people.dat
  33. using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
  34. {
  35. Person newPerson = (Person)formatter.Deserialize(fs);
  36. Console.WriteLine("Объект десериализован");
  37. Console.WriteLine($"Имя: {newPerson.Name} --- Возраст: {newPerson.Age}");
  38. }
  39. Console.ReadLine();
  40. }
  41. }
  42. }