C# serializācija

C# serializācija

C # valodā serializācija ir process, kurā objektu pārvērš baitu straumē, lai to varētu saglabāt atmiņā, failā vai datu bāzē. Serializācijas apgriezto procesu sauc par deserializāciju.

Serializācija tiek iekšēji izmantota attālās lietojumprogrammās.

C# serializācija

C# SerializableAttribute

Lai serializētu objektu, jums ir jāpiesakās Serializējams atribūts atribūtu tipam. Ja nepiesakāties Serializējams atribūts atribūts tipam, SerializationException izņēmums tiek izmests izpildlaikā.

C# serializācijas piemērs

Apskatīsim vienkāršu serializācijas piemēru C#, kur mēs serializējam Studentu klases objektu. Šeit mēs izmantosim BinaryFormatter.Serialize(straume, atsauce) metode objekta serializēšanai.

 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  

Kā redzat, serializētie dati tiek saglabāti failā. Lai iegūtu datus, jums jāveic deserializācija.