C#之序列化和反序列化

来源:互联网 发布:淘宝卖家能延长多久 编辑:程序博客网 时间:2024/05/21 07:09
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;



namespace 序列化和反序列化


{
    /// <summary>
    /// 序列化:对象转化为2进制
    /// 反序列化:二进制转化为对象
    /// 作用:传输数据

    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            person p1=new person ();
            p1.Age1 = 19;
            p1.Name = "张三";
            p1.Sex = '男';
            //文件定向输出
            using (FileStream file1 = new FileStream(@"C:\Users\守候。\Desktop\1.txt", FileMode.OpenOrCreate, FileAccess.Write ))
            {
                //序列化对象
                BinaryFormatter fs = new BinaryFormatter();
                fs.Serialize (file1, p1);
                Console .WriteLine ("序列化完毕");
                
            }


            using(FileStream file1=new FileStream (@"C:\Users\守候。\Desktop\1.txt",FileMode.OpenOrCreate,FileAccess.Read ))
            {
                //反序列化对象;
               BinaryFormatter fs=new BinaryFormatter ();
               person p2=(person )fs.Deserialize (file1);
               Console.WriteLine(p2.Name);
               Console.WriteLine(p2.Sex);
               Console.WriteLine(p2.Age1);
               Console.ReadKey();
               
            }
           
        }
    }
    [Serializable]
    public class person
    {
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private char sex;


        public char Sex
        {
            get { return sex; }
            set { sex = value; }
        }
        private int Age;


        public int Age1
        {
            get { return Age; }
            set { Age = value; }
        }
    }
}
0 0
原创粉丝点击