【學習歷程05】序列化和反序列化
阿新 • • 發佈:2020-07-12
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 }