序列化和反序列化我们可能经常会听到,
其实通俗一点的解释,
序列化就是把一个对象保存到一
个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。
下面用一个简单的例子加以说明
先创建一个类,并标记可序列化标志[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(); } } }
上面简单的例子就是我一个初学者对序列化与反序列化的理解,希望各位大牛可以多加指点