using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
// 定义一个可序列化的类
[Serializable]
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
class Program
{
static void Main()
{
// 创建一个Person对象
Person person = new Person("Alice", 30);
// 序列化
using (FileStream fs = File.Create("person.dat"))
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, person);
Console.WriteLine("对象已成功序列化到文件 'person.dat'");
}
// 反序列化
Person deserializedPerson;
using (FileStream fs = File.OpenRead("person.dat"))
{
BinaryFormatter formatter = new BinaryFormatter();
deserializedPerson = (Person)formatter.Deserialize(fs);
Console.WriteLine("对象已成功反序列化");
}
// 输出反序列化后的对象信息
Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}");
}
}
Person 类被标记为 [Serializable],表示它可以被序列化。它包含两个属性 Name 和 Age。Main 方法中,创建了一个 Person 对象,并设置了它的属性值。BinaryFormatter 将 Person 对象序列化并保存到文件 person.dat 中。person.dat 中读取数据,并将其反序列化为 Person 对象。注意:BinaryFormatter 已经被标记为过时,建议在新项目中使用其他序列化方法(如 JSON 或 XML)。
上一篇:c# console
下一篇:c#串口通信代码
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站