所谓的序列化就是是将对象转换为容易传输的格式的过程,一般情况下转化打流文件,放入内存或者IO文件中。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象,或者和其它应用程序共享使用。反之,反序列化根据流重新构造对象。
序列化加 [Serializable]就可以了 [Serializable] public class TestInfo { public int Id { get; set; } public string UserName { get; set; } } 如果不想序列化其中某个Field,则使用[NonSerialized] | |
|
序列化调用代码示例: List<TestInfo> list = new List<TestInfo>(); list.Add(new TestInfo() { Id = 1, UserName = "测试1" }); list.Add(new TestInfo() { Id = 2, UserName = "测试2" }); list.Add(new TestInfo() { Id = 3, UserName = "测试3" }); using (FileStream fs = new FileStream(@"C:\test.dat", FileMode.Create)) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(fs, list); } 反序列化调用代码示例 List<Test> list = new List<Test>(); using (FileStream fs = new FileStream(@"C:\test.dat", FileMode.Open)) { BinaryFormatter formatter = new BinaryFormatter(); list = (formatter.Deserialize(fs) as List<TestInfo>);//在这里大家要注意咯,他的返回值是object } | |