• (转)C#序列化和反序列化小例子


      网友关于序列化和反序列化的总结:

      ①序列化基本是指把一个对象保存到文件或流中,比如可以把文件序列化以保存到Xml中,或一个磁盘文件中
      ②序列化以某种存储形式使自定义对象持久化;
      ③将对象从一个地方传递到另一个地方。
      ④将类的值转化为一个一般的(即连续的)字节流,然后就可以将该流写到磁盘文件或任何其他流化目标上。
      ⑥序列是指将对象的实例状态存储到存储媒体的过程。 在此过程中,先将对象的公共字段以及类的名称(包括类的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。
      ⑦用处非常大,用于数据传输,对象存贮等。

      来源:http://hi.baidu.com/jiang_yy_jiang/item/ecf949f6e5e1eeda6325d2a3

      网友的小例子:

      命名空间:System.IO; System.Runtime.Serialization.Formatters.Binary;

      测试环境:VS2010

      1 、给类加上[Serializable]属性 表示这个类是可以序列化
      [Serializable]
      public class Userinfo
      {
        public string uname { get; set; }
        public string upass {get;set;}
        public int IsSave { get; set; }
      }

      2、将对象序列化到文件中代码

      FileStream fs = new FileStream(@"D:serializeDem.dat", FileMode.Create);
      Userinfo model = new Userinfo() { uname= "admin",upass="admin" IsSave = 1 };
      BinaryFormatter bf = new BinaryFormatter();
      bf.Serialize(fs, model);
      fs.Close();

      3、从文件反序列化为对象

      FileStream fs = new FileStream(@"D:serializeDem.dat", FileMode.Open);
      BinaryFormatter bf = new BinaryFormatter();
      Userinfo model = bf.Deserialize(fs) as Userinfo;

      来源:http://www.2cto.com/kf/201206/134122.html

  • 相关阅读:
    面试题 08.02. 迷路的机器人(C++)
    URI和URL的区别
    Kali Linux自定义分辨率设置
    CentOS最小化安装后配置NAT网络模式
    CentOS7.5安装及最小安装后联网配置--联网配置
    CentOS7.5安装及最小安装后联网配置--系统安装
    基数排序
    归并排序
    堆排序
    简单选择排序
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/3613380.html
Copyright © 2020-2023  润新知