C#中的序列化和反序列化问题

1,简述:序列化和反序列化主要作用就是方便类文件在网络中的传输

                  序列化:对象转换成为二进制的流文件

                  反序列化:读取已经被 序列化的文件还原成或者对象

 2:案列

namespace{

 [Serializable]   //对象能够序列化所必须添加的关键字

public class Person 
    {
        public string Name { set; get; }
        public string Age { set; get; }
        public string Gender { set; get; }

        public void SayHello() 
        {
            Console.WriteLine("SayHello");
        }
    }

 

 class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person();
            p.Name = "张三";
            p.Age = "1";
            p.Gender = "男";
            using(FileStream fs = new FileStream (@"F:\new.txt",FileMode.OpenOrCreate,FileAccess.Write))
            {
                BinaryFormatter bf = new BinaryFormatter();  //序列化必须的一个类
                bf.Serialize(fs,p);   //序列化方法
            }
            Console.WriteLine("序列化:OK");
            //在反序列化
            Person   pp = null;
            using(FileStream fs = new FileStream (@"F:\new.txt",FileMode.OpenOrCreate,FileAccess.Read))
            {
                BinaryFormatter bf = new BinaryFormatter();
                pp = (Person)bf.Deserialize(fs);  //反序列化方法
            }
            Console.WriteLine("name:"+pp.Name+" age:"+pp.Age+" Gender:"+pp.Gender);
            Console.WriteLine("反序列化:OK");
            Console.ReadKey();
            //序列化和反序列化的主要目的是为了方便对象或者类在网络中的传输
        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值