Serializácia C#
V C# je serializácia proces konverzie objektu na bajtový prúd, aby sa dal uložiť do pamäte, súboru alebo databázy. Opačný proces serializácie sa nazýva deserializácia.
Serializácia sa interne používa vo vzdialených aplikáciách.
C# SerializableAttribute
Ak chcete objekt serializovať, musíte použiť SerializableAttribute atribút k typu. Ak nepodáte žiadosť SerializableAttribute atribút k typu, Výnimka serializácie výnimka je vyvolaná za behu.
Príklad serializácie v C#
Pozrime sa na jednoduchý príklad serializácie v C#, kde serializujeme objekt triedy Student. Tu budeme používať BinaryFormatter.Serialize(stream, referencia) metóda na serializáciu objektu.
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
Ako vidíte, serializované údaje sú uložené v súbore. Ak chcete získať údaje, musíte vykonať deserializáciu.