1. 程式人生 > 實用技巧 >【學習歷程05】序列化和反序列化

【學習歷程05】序列化和反序列化

 1  class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5            //序列化:將資料轉換為二進位制
 6            //反序列化:將二進位制轉換為資料
 7            //序列化的作用:傳遞資料
 8             Person p = new Person();
 9             Person p2 = new Person();
10             p.Name ="張三";
11             p.Age = 18
; 12 using (FileStream fswrite=new FileStream(@"C:\Users\Administrator\Desktop\1.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite)) 13 { 14 //開始序列化物件 15 BinaryFormatter bf = new BinaryFormatter(); 16 bf.Serialize(fswrite, p); 17 }
18 19 //反序列化 20 using (FileStream fswrite = new FileStream(@"C:\Users\Administrator\Desktop\1.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite)) 21 { 22 //開始序列化物件 23 BinaryFormatter bf2 = new BinaryFormatter(); 24 p2=(Person)bf2.Deserialize(fswrite);
25 } 26 Console.WriteLine(p2.Name); 27 Console.WriteLine(p2.Age); 28 Console.ReadKey(); 29 } 30 } 31 32 //指定一個類可以序列化 33 [Serializable] 34 public class Person 35 { 36 private string _name; 37 public string Name 38 { 39 get { return _name; } 40 set { _name = value; } 41 } 42 43 private int _age; 44 public int Age 45 { 46 get { return _age; } 47 set { _age = value; } 48 } 49 }