1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System;
- using System.IO;
- using System.Runtime.Serialization.Formatters.Binary;
-
- namespace Serialization
- {
- [Serializable]
- class Person
- {
- public string Name { get; set; }
- public int Age { get; set; }
-
- public Person(string name, int age)
- {
- Name = name;
- Age = age;
- }
- }
-
- class Program
- {
- static void Main(string[] args)
- {
- // объект для сериализации
- Person person = new Person("Tom", 29);
- Console.WriteLine("Объект создан");
-
- // создаем объект BinaryFormatter
- BinaryFormatter formatter = new BinaryFormatter();
- // получаем поток, куда будем записывать сериализованный объект
- using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
- {
- formatter.Serialize(fs, person);
-
- Console.WriteLine("Объект сериализован");
- }
-
- // десериализация из файла people.dat
- using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
- {
- Person newPerson = (Person)formatter.Deserialize(fs);
-
- Console.WriteLine("Объект десериализован");
- Console.WriteLine($"Имя: {newPerson.Name} --- Возраст: {newPerson.Age}");
- }
-
- Console.ReadLine();
- }
- }
- }
|