zoukankan      html  css  js  c++  java
  • (转)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

  • 相关阅读:
    设置密码等级判断
    密码验证包含数字字母字符的两个或两个以上的组合
    解决ps不能直接把文件拖进去的问题
    图片上传js
    关于手机ios和安卓和pc的点击事件的兼容
    css设置两行多余文字用..显示
    对于奇数和偶数的轮播
    手机端开发的问题(摘要)
    懒加载
    Django admin 后台 数据展示
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/3613380.html
Copyright © 2011-2022 走看看