• (转)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

  • 相关阅读:
    SDK Tools Dependencies
    hibernate开发中遇到多对多的问题,可以转换为两个一对多
    利用PC 转发 模拟手机端之间socket通信
    假如你被当成精神病关进了精神病院
    通过JSONP实现完美跨域
    查看linux系统版本命令
    Eclipse+python开发环境配置
    linux chkconfig命令参数及用法详解
    Fedora 17 安装后要做的几件事:MP3,桌面定制,root登录等
    Fedora 17 配置 Nginx + Mysql + php
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/3613380.html
Copyright © 2020-2023  润新知