logo

C# szerializálás

A C# nyelvben a szerializálás az objektum bájtfolyammá alakításának folyamata, hogy az elmenthető legyen a memóriába, fájlba vagy adatbázisba. A szerializálás fordított folyamatát deserializációnak nevezik.

pawandeep rajan

A szerializálást belsőleg használják a távoli alkalmazásokban.

C# szerializálás

C# SerializableAttribute

Az objektum sorozatosításához jelentkezni kell SerializableAttribute attribútumot a típushoz. Ha nem jelentkezel SerializableAttribute tulajdonság a típushoz, SerializationException kivételt a rendszer futás közben dob.

C# szerializációs példa

Nézzük a szerializálás egyszerű példáját C#-ban, ahol a Student osztály objektumát szerializáljuk. Itt fogjuk használni BinaryFormatter.Serialize(folyam, referencia) metódus az objektum szerializálására.

számok ábécé szerint
 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 

Mint látható, a sorosított adatok a fájlban tárolódnak. Az adatok megszerzéséhez deszerializálást kell végrehajtania.