C#中的序列化和反序列化
时间: 2024-08-21 20:01:12 浏览: 52
在C#中,序列化和反序列化是两个重要的概念,它们主要用于数据持久化和跨应用程序通信。序列化是将对象的状态转换为可存储或传输的形式(如JSON或XML),而反序列化则是从这些形式恢复回原始对象。
**序列化过程**[^1]:
当你想保存对象的状态或者在不同应用程序之间传递它时,可以使用`System.Runtime.Serialization`命名空间下的类,比如`BinaryFormatter`或`JsonSerializer`。例如:
```csharp
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
object objToSerialize = new YourObject();
byte[] serializedData = BinaryFormatter.Serialize(new MemoryStream(), objToSerialize);
```
**反序列化过程**:
在接收端,你可以使用相同的序列化器来还原对象:
```csharp
MemoryStream stream = new MemoryStream(serializedData);
YourObject deserializedObj = (YourObject)BinaryFormatter.Deserialize(stream);
```
序列化和反序列化有助于简化复杂的数据结构管理和跨平台通信。
阅读全文