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

  ①序列化基本是指把一个对象保存到文件或流中,比如可以把文件序列化以保存到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

(转)C#序列化和反序列化小例子的更多相关文章

  1. Java基础之数组序列化、反序列化 小发现(不知道 是不是有问题)

    结论:  数组,无论是否声明为transient,都是可以序列化.反序列化的. 测试情况如下: 1.两种类型的数组:int .String: 2 声明为transient  或者不做任何修饰:. 3. ...

  2. windows phone8.1:Xml,Json序列化和反序列化

    原文:windows phone8.1:Xml,Json序列化和反序列化 小梦本例主要实现以下四点内容: 将Car对象序列化为xml 将Car对象序列化为Json 将xml反序列化为Car对象 将js ...

  3. List<string>序列化与反序列化一个小坑

    Newtonsoft序列化与反序列化有两个重载方法,带<T>和不带<T>的 如果将一个List<String>序列化为jsonStr后,再反序列化,会变成JArra ...

  4. XmlSerializer 对象的Xml序列化和反序列化

    http://www.cnblogs.com/yukaizhao/archive/2011/07/22/xml-serialization.html 这篇随笔对应的.Net命名空间是System.Xm ...

  5. php中序列化与反序列化

    解析PHP多种序列化与反序列化的方法 序列化是将变量转换为可保存或传输的字符串的过程:反序列化就是在适当的时候把这个字符串再转化成原来的变量使用.这两个过程结合起来,可以轻松地存储和传输数据,使程序更 ...

  6. XmlSerializer 对象的Xml序列化和反序列化,XMLROOT别名设置

    这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间.   为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中 ...

  7. Open_Newtonsoft_Json 的序列化和反序列化

    Newtonsoft.Json,一款.NET中开源的Json序列化和反序列化类库(下载地址http://json.codeplex.com/). 特别注明:本人转自 陈 晨 博客园的 Newtonso ...

  8. C#操作Xml:XmlSerializer 对象的Xml序列化和反序列化

    这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间. 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中的对 ...

  9. Thrift序列化与反序列化的实现机制分析

    Thrift是如何实现序死化与反序列化的,在IDL文件中,更改IDL文件中的变量序号或者[使用默认序号的情况下,新增变量时,将新增的变量不放在IDL文件的结尾,均会导致Thrift文件的反序列后无法做 ...

随机推荐

  1. ASP.NET MVC几种找不到资源的问题解决办法

    转自:http://www.cnblogs.com/xyang/archive/2011/11/24/2262003.html 在MVC中,controller中的Action和View中的.csht ...

  2. 设置远程访问Oracle数据库

    我这里设置的是别人远程访问我本地的数据库. 方法: 通过WiFi共享,别人连接该共享的WiFi,来访问我的数据库(局域网). 步骤1: 下载WiFi共享大师. 步骤2: 安装好后开启WiFi. 开启后 ...

  3. R(六): RODBC 访问SqlServer

    在我的实际工作中,数据来源一方面是关系型数据库MS SqlServer, 别一方面是HBase.本节主要介绍通过RODBC访问MS SqlServer 安装配置,参见资料(https://msdn.m ...

  4. 每日学习心得:找不到类型{0},它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素...中提供,cellspacing、rowspacing属性

    2013-7-6 1.                找不到类型“WCFService.Service1”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 syste ...

  5. Spring入门学习(一)

    SpringMVC基础平台补充(2016.03.03) 如果想要开发SpringMVC,那么前期依次安装好:JDK(jdk-8u74-windows-x64,安装后配置环境变量JAVA_HOME和CL ...

  6. 解决SQLite3数据库Error: database disk image is malformed

    这种错误的提示一般都是数据库文件出现了问题,具体导致问题的原因不必深究,我们只讨论这种问题的饿解决方法: 比如数据库:test.db 这里还要分两种情况: 情况一: sqlite3 test.db & ...

  7. Redis-sentinel监控

    Sentinel介绍 Redis的 Sentinel 系统用于管理多个Redis服务器, 该系统执行以下三个任务: 监控(Monitoring) 提醒(Notification) 自动故障迁移(Aut ...

  8. Perl调用外部命令的方式和区别

    主要的方式简述如下:1. system("command");使用该命令将开启一个子进程执行引号中的命令,父进程将等待子进程结束并继续执行下面的代码. 2. exec(" ...

  9. 设置ulimit值(Linux文件句柄数量)永久生效

    Linux 默认打开文件数linux 默认打开文件数为1024个,通过ulimit -a 可以查看open files修改这个限制可以使用ulimt -SHn 65536永久生效需要进行下面设置:1. ...

  10. 黄聪:WordPress 的 Hook 机制与原理(add_action、add_filter)

    稍有接触过 WordPress 主题或插件制作修改的朋友,对 WordPress 的Hook机制应该不陌生,但通常刚接触WordPress Hook 的新手,对其运作原理可能会有点混乱或模糊.本文针对 ...