来自于:hemingyang97
    对一个文件进行序列化和反序列化

    1. 序列化 ```csharp class Program {

      1. static void Main(string[] args)
      2. {
      3. //要将p这个对象 传输给对方电脑
      4. Person p = new Person();
      5. p.Name = "张三";
      6. p.Age = 19;
      7. p.Gender = '男';
      8. using (FileStream fsWrite = new FileStream(@"C:\Users\SpringRain\Desktop\111.txt", FileMode.OpenOrCreate, FileAccess.Write))
      9. {
      10. //开始序列化对象
      11. BinaryFormatter bf = new BinaryFormatter();
      12. bf.Serialize(fsWrite, p);
      13. }
      14. Console.WriteLine("序列化成功");
      15. Console.ReadKey();
      16. }

      }

    1. [Serializable]
    2. public class Person
    3. {
    4. private string _name;
    5. public string Name
    6. {
    7. get { return _name; }
    8. set { _name = value; }
    9. }
    10. private char _gender;
    11. public char Gender
    12. {
    13. get { return _gender; }
    14. set { _gender = value; }
    15. }
    16. private int _age;
    17. public int Age
    18. {
    19. get { return _age; }
    20. set { _age = value; }
    21. }
    22. }
    1. 2. 反序列化
    2. ```csharp
    3. class Program
    4. {
    5. static void Main(string[] args)
    6. {
    7. //接收对方发送过来的二进制 反序列化成对象
    8. Person p;
    9. using (FileStream fsRead = new FileStream(@"C:\Users\SpringRain\Desktop\111.txt", FileMode.OpenOrCreate, FileAccess.Read))
    10. {
    11. BinaryFormatter bf = new BinaryFormatter();
    12. p = (Person)bf.Deserialize(fsRead);
    13. }
    14. Console.WriteLine(p.Name);
    15. Console.WriteLine(p.Age);
    16. Console.WriteLine(p.Gender);
    17. Console.ReadKey();
    18. }
    19. }
    20. [Serializable]
    21. public class Person
    22. {
    23. private string _name;
    24. public string Name
    25. {
    26. get { return _name; }
    27. set { _name = value; }
    28. }
    29. private char _gender;
    30. public char Gender
    31. {
    32. get { return _gender; }
    33. set { _gender = value; }
    34. }
    35. private int _age;
    36. public int Age
    37. {
    38. get { return _age; }
    39. set { _age = value; }
    40. }
    41. }