序列化与反序列化
1、序列化与反序列化
//序列化和反序列化 //序列化:将对象转换为二进制 //反序列化:将二进制转换为对象 //传输数据 //状态保持 //我是服务器,将数据发送给客户端 /*Person person = new Person(); person.Name = "张三"; person.Age = 18; person.Gender = "男"; person.PrintName(); using (FileStream fswirte=new FileStream(@"C:\Users\Administrator\Desktop\1.txt",FileMode.OpenOrCreate,FileAccess.Write)) { //将对象转化为二进制 BinaryFormatter bf = new BinaryFormatter(); //把对象序列化为二进制 bf.Serialize(fswirte, person); }*/ //我是客户端,解析服务器发送过来的数据 Person per; using(FileStream fsRead = new FileStream(@"C:\Users\Administrator\Desktop\1.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite)) { //将对象转化为二进制 BinaryFormatter bf = new BinaryFormatter(); //把二进制转化为序列化对象 per=(Person)bf.Deserialize(fsRead); } Console.WriteLine(per.Name); Console.WriteLine(per.Age); Console.WriteLine(per.Gender); per.PrintName();