C# 序列化和反序列化代码
时间: 2024-10-08 16:20:23 浏览: 26
C# 中的序列化和反序列化是将对象的状态转换为可以存储或传输的形式,以及从这种形式恢复回原始对象的过程。这是.NET框架提供的一种功能,主要用于持久化数据、网络通信等场景。
**序列化(Serializing)**:
```csharp
using System.Runtime.Serialization.Formatters.Binary;
// 定义一个需要序列化的类
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
// 实例化并序列化对象
Person person = new Person { Name = "John", Age = 30 };
BinaryFormatter formatter = new BinaryFormatter();
byte[] serializedData = formatter.Serialize(new MemoryStream(), person);
```
**反序列化(Deserializing)**:
```csharp
// 反序列化保存的数据
MemoryStream stream = new MemoryStream(serializedData);
BinaryFormatter formatter = new BinaryFormatter();
Person deserializedPerson = (Person)formatter.Deserialize(stream);
// 访问反序列化后的对象属性
Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}");
```
阅读全文