U C#, serijalizacija je proces pretvaranja objekta u tok bajtova tako da se može spremiti u memoriju, datoteku ili bazu podataka. Obrnuti proces od serijalizacije naziva se deserijalizacija.
c++ par
Serijalizacija se interno koristi u udaljenim aplikacijama.
C# SerializableAttribute
Za serijalizaciju objekta morate se prijaviti SerializableAttribute atribut tipa. Ako se ne prijaviš SerializableAttribute atribut vrsti, SerializationException iznimka se izbacuje tijekom izvođenja.
Primjer C# serijalizacije
Pogledajmo jednostavan primjer serijalizacije u C# gdje serijaliziramo objekt klase Student. Evo, koristit ćemo se BinaryFormatter.Serialize(stream,reference) metoda za serijalizaciju objekta.
pretvoriti string u enum
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
Kao što vidite, serijalizirani podaci pohranjeni su u datoteci. Da biste dobili podatke, morate izvršiti deserijalizaciju.