两种常用的序列化
第一: 对Xml进行序列化
public class Person { private string name; public string Name { get { return name; } set { name = value; } } private string sex; public string Sex { get { return sex; } set { sex = value; } } private int age; public int Age { get { return age; } set { age = value; } } }
类是必须的
xml 序列化
Person p = new Person(){Name = "张三",Sex = "男", Age = 19}; XmlSerializer xs = new XmlSerializer(typeof(Person)); using(FileStream fs = new FileStream(@"a.xml",FileModel.Create)) { xs. Serialize(fs,p); }
Console.WriteLine("xml序列化成功");
xml 反序列化
Person item = xs.Deserialize(new FileStream(@"a.xml",FileMode.Open)) as Person Console.WriteLine(string.Format("{0}\t{1}\t{2}",item.Name,item.Sex,item.Age)) Console.ReadKey();
常用序列化:
List<Person> lst = new List<Person>(); lst.Add(new Person("张三", 19)); FileStream fs = new FileStream("a", FileMode.Create, FileAccess.Write);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs,lst);
Console.WriteLine("序列化成功")
常用反序列化 :
FileStream fs = new FileStream("1", FileMode.Open, FileAccess.Read); BinaryFormatter Debf = new BinaryFormatter(); List<Person> ll = (List<Person>)Debf.Deserialize(fs); foreach (Person item in ll) { Console.WriteLine("{0}{1}", item.name, item.age); }
用法不难。
为什么需要序列化:
传统的传输机制已经不能保证安全了,序列化可以让客户端和服务端之间的传输更加安全,序列化传输,对方反序列化接收,序列化后是一个16进制的文件。
也常用。