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# list
下一篇:c#全局变量
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站