川哥哥

导航

序列化和反序列化

序列化和反序列化我们可能经常会听到,

其实通俗一点的解释,

序列化就是把一个对象保存到一

个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。

下面用一个简单的例子加以说明

先创建一个类,并标记可序列化标志[Serializable]

namespace 序列化和反序列化
{
    //可序列化标志
    [Serializable]
   public class Preson
    {
      
        public int Age { get; set; }
        public string Name { get; set; }
    }
}
namespace 序列化和反序列化
{
    class Program
    {
        static void Main(string[] args)
        {
            #region 序列化
            // List<Preson> list = new List<Preson>();
            //Preson p = new Preson();
            //p.Name = "张三";
            //p.Age = 18;
            //list.Add(p);
            ////序列化器
            //BinaryFormatter bf = new BinaryFormatter();
            //Stream st = new FileStream("save.bin",FileMode.Create);
            //bf.Serialize(st, list);
            //st.Close();
          
            #endregion

            #region 反序列化
            Stream sts = new FileStream("save.bin", FileMode.Open);
            BinaryFormatter bfs = new BinaryFormatter();
            List<Preson> lis = (List<Preson>)bfs.Deserialize(sts);
            foreach (Preson item in lis)
            {
                Console.WriteLine(item.Name);
            }
            #endregion

             Console.ReadKey();
        }
    }
}

上面简单的例子就是我一个初学者对序列化与反序列化的理解,希望各位大牛可以多加指点

posted on 2016-09-21 15:02  川哥哥  阅读(185)  评论(0编辑  收藏  举报