c# serialize
时间: 2023-07-27 17:07:29 浏览: 154
C#序列化
5星 · 资源好评率100%
C#中的序列化是将对象转换为可以存储或传输的格式的过程。使用序列化可以将对象保存在磁盘上,或将对象通过网络发送到另一个应用程序。C#中提供了多种序列化方式,包括二进制序列化、XML序列化和JSON序列化等。
下面是一个使用二进制序列化的示例:
```csharp
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main(string[] args)
{
// 创建一个Person对象
Person person = new Person() { Name = "Tom", Age = 20 };
// 将对象序列化到文件中
BinaryFormatter formatter = new BinaryFormatter();
using (FileStream stream = new FileStream("person.bin", FileMode.Create))
{
formatter.Serialize(stream, person);
}
// 从文件中反序列化对象
using (FileStream stream = new FileStream("person.bin", FileMode.Open))
{
Person newPerson = (Person)formatter.Deserialize(stream);
Console.WriteLine($"Name: {newPerson.Name}, Age: {newPerson.Age}");
}
}
}
```
上面的示例将一个`Person`对象序列化到文件中,然后从文件中反序列化出新的对象。在序列化之前,`Person`类必须标记为可序列化的,即在类定义前加上`[Serializable]`特性。在序列化和反序列化时,需要使用`BinaryFormatter`类来进行操作。
阅读全文