C#中的序列化和反序列化

序列化将对象转换为字节流,并将其转换为可以写入流的形式。这样做是为了将其保存到内存,文件或数据库中。

序列化可以执行为-

二进制序列化

所有成员,甚至是只读成员,都已序列化

XML序列化

它将对象的公共字段和属性序列化为符合特定XML Schema定义语言文档的XML流。

让我们来看一个例子。首先设置流-

FileStream fstream = new FileStream("d:\\new.txt", FileMode.OpenOrCreate);
BinaryFormatter formatter=new BinaryFormatter();

现在创建一个类的对象并调用具有三个参数的构造函数-

Employee emp = new Employee(030, "Tom", “Operations”);

执行序列化。

formatter.Serialize(fStream, emp);

反序列化与序列化相反,您可以从字节流中读取对象。

formatter.Deserialize(fStream);