logo

C# serijalizacija

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# serijalizacija

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.