logo

Серіалізація C#

У C# серіалізація - це процес перетворення об'єкта в потік байтів, щоб його можна було зберегти в пам'яті, файлі або базі даних. Процес, зворотний серіалізації, називається десеріалізацією.

ітераційна карта java

Серіалізація використовується внутрішньо у віддалених програмах.

Серіалізація C#

C# SerializableAttribute

Щоб серіалізувати об'єкт, потрібно застосувати SerializableAttribute атрибут до типу. Якщо ви не подасте заявку SerializableAttribute атрибут до типу, SerializationException під час виконання створюється виняток.

Приклад серіалізації C#

Давайте розглянемо простий приклад серіалізації в C#, де ми серіалізуємо об’єкт класу Student. Ось, ми збираємося використовувати BinaryFormatter.Serialize(потік, посилання) метод серіалізації об'єкта.

рікмісяць
 using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; [Serializable] class Student { int rollno; string name; public Student(int rollno, string name) { this.rollno = rollno; this.name = name; } } public class SerializeExample { public static void Main(string[] args) { FileStream stream = new FileStream('e:\sss.txt', FileMode.OpenOrCreate); BinaryFormatter formatter=new BinaryFormatter(); Student s = new Student(101, 'sonoo'); formatter.Serialize(stream, s); stream.Close(); } } 

sss.txt:

 JConsoleApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Student rollnoname e sonoo 

Як бачите, серіалізовані дані зберігаються у файлі. Щоб отримати дані, потрібно виконати десеріалізацію.