using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace 序列化和反序列化
{
class Program
{
static void Main(string[] args)
{
Person p = new Person();
p.Age = 12;
p.Name = "Sim";
p.Gender = '男';
using (FileStream fsWrite = new FileStream(@"C:\1.txt", FileMode.OpenOrCreate, FileAccess.Write))
{
//开始序列化对象
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fsWrite, p);
}
Console.WriteLine("序列化成功");
Console.WriteLine("开始反序列化");
//读取文件模拟接收
Person p1;
using (FileStream fsRead = new FileStream(@"C:\1.txt", FileMode.OpenOrCreate, FileAccess.Read))
{
BinaryFormatter bf = new BinaryFormatter();
p1 = (Person)bf.Deserialize(fsRead);
Console.WriteLine(p.Name + p.Age + p.Gender);
Console.WriteLine("反序列化成功");
Console.ReadKey();
}
}
}
[Serializable]
public class Person
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
private int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}
private char _gender;
public char Gender
{
get { return _gender; }
set { _gender = value; }
}
}
}
C#序列化和反序列化
最新推荐文章于 2023-03-08 16:06:03 发布