序列化与反序列化


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();

相关