百科:序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

public class Dog{public int Id { get; set; }public string Name { get; set; }public string Sex { get; set; }public int Age { get; set; }public string ReturnString(){return Id + " " + Name + " " + Sex + " " + Age;}}class Program{static void Main(string[] args){      List<Dog> list = new List<Dog>(){new Dog(){Id=1,Name="旺财",Sex="男",Age=2},new Dog(){Id=2,Name="哈士奇",Sex="女",Age=4},new Dog(){Id=3,Name="藏獒",Sex="男",Age=5},                  };//序列化string xml = XmlSerialize<List<Dog>>(list);Console.WriteLine("***********  类--> XML  ************");Console.WriteLine(xml);//反序列化string strXML = "<ArrayOfDog><Dog><Id>1</Id><Name>旺财</Name><Sex>男</Sex><Age>2</Age></Dog><Dog><Id>2</Id><Name>哈士奇</Name><Sex>女</Sex><Age>4</Age></Dog><Dog><Id>3</Id><Name>藏獒</Name><Sex>男</Sex><Age>5</Age></Dog></ArrayOfDog>";List<Dog> listDog = DESerializer<List<Dog>>(strXML);Console.WriteLine("***********  XML--> 类  ************");foreach (Dog dog in listDog){Console.WriteLine(dog.ReturnString());}Console.ReadKey();}/// <summary>/// 反序列化/// </summary>public static T DESerializer<T>(string strXML) where T : class{try{using (StringReader sr = new StringReader(strXML)){XmlSerializer serializer = new XmlSerializer(typeof(T));return serializer.Deserialize(sr) as T;}}catch (Exception ex){return null;}}/// <summary>/// 序列化/// </summary>public static string XmlSerialize<T>(T obj){using (StringWriter sw = new StringWriter()){Type t = obj.GetType();XmlSerializer serializer = new XmlSerializer(obj.GetType());serializer.Serialize(sw, obj);sw.Close();return sw.ToString();}}}

C# 序列化与反序列化意义详解:
①序列化基本是指把一个对象保存到文件或流中,比如可以把文件序列化以保存到Xml中,或一个磁盘文件中

②序列化以某种存储形式使自定义对象持久化;
③将对象从一个地方传递到另一个地方。

④将类的值转化为一个一般的(即连续的)字节流,然后就可以将该流写到磁盘文件或任何其他流化目标上。

⑥序列是指将对象的实例状态存储到存储媒体的过程。
在此过程中,先将对象的公共字段以及类的名称(包括类的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。

⑦用处非常大,用于数据传输,对象存贮等。

推荐文章(点击进入)

C# XML 序列化 及 反序列化相关推荐

  1. 开心网外挂开发之 XML序列化于反序列化

    通过昨天的文章我们已经了解了开发一个开心网的外挂所需要的最基本的东本,接下来的工作可以说基本上就上围绕这个基础来进行的,我写这一系列文章主要的目地不仅仅是为了让大家了解怎么开发开心网外挂,最主要的目过 ...

  2. XML 序列化与反序列化

    XML序列化与反序列化 1.将一个类转化为XML文件 /// <summary>/// 对象序列化成XML文件/// </summary>/// <param name= ...

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

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

  4. Xml序列化、反序列化帮助类

    之前从网络上找了一个Xml处理帮助类,并整理了一下,这个帮助类针对Object类型进行序列化和反序列化,而不需要提前定义Xml的结构,把它放在这儿供以后使用 1 /// <summary> ...

  5. XML序列化和反序列化(C#)

    主要参考资料: http://www.codeproject.com/Articles/483055/XML-Serialization-and-Deserialization-Part-1 http ...

  6. [WPF]xml序列化以及反序列化数据

    代码 XML序列化工具类 public static class XMLHelper{/// <summary>/// 将对象序列化为指定的文件名/// </summary>/ ...

  7. ASP.NET 对类进行XML序列化和反序列化

    1 序列化方法 public void SerializeObject<T>(string Xmlname,T t){XmlSerializer ser = new XmlSerializ ...

  8. XML序列化和反序列化 以及相关类的写法

    类的写法: 省网办数据对接中运用到 using System; using System.Collections.Generic; using System.Linq; using System.Te ...

  9. C# XML序列化和反序列化

    原文:http://www.cnblogs.com/nhxy/archive/2010/11/16/1878409.html 本文描述如何使用CLR中的StringWriter,XmlSerializ ...

最新文章

  1. axios不发起请求_重复的ajax请求让人很受伤
  2. mySql中Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题
  3. 机器学习——支持向量机SVM之非线性模型(原问题转化为对偶问题)
  4. 前端学习(1550):$scope和调试工具
  5. python c cmd_在Python cmd模块中处理CTRL-C
  6. 做到这几点,让你离高级程序员更近一步!
  7. HDOJ 2639 Bone Collector II (背包)
  8. Java革新大提速 Chrome 54终结YouTube的Flash内嵌技术
  9. drupal_prepare_form 大致是如何工作的 ?
  10. win的反义词_小学英语常用近义词、反义词、同音词汇总 ~~~ 赶紧转给孩子
  11. A002-186-2619-林斌锐
  12. 2cm有多长实物图_一厘米有多长,求图片
  13. ios app上架审核被拒及解决总结
  14. python京东自动签到_python自动签到领京东《豆豆》
  15. 【JS基础】JavaScript中的void 0
  16. Ubuntu14.04安装搜狗拼音输入法(中文输入法)
  17. 负载,吞吐量,最大转发速率,带宽,线
  18. 2021年中国旅游产业整体现状分析,疫情后市场恢复不及预期,相较疫情前仍有差距「图」
  19. python 继承多个父类_python多继承及父类出现同名方法的处理
  20. java 连接teradata_java连接teradata | 学步园

热门文章

  1. HTTP第16讲——HTTP的重定向和跳转
  2. CSS边框的常用属性看这里
  3. pri master hard disk:S.M.A.R.T. status BAD,backup and replace press FX to resume
  4. 安卓端自行实现工信部要求的隐私合规检测二(使用Xposed/VirtualXposed进行监测)
  5. Python天天基金每日净值实时更新至excel表格
  6. 火狐浏览器设置cookie失败_firefox如何禁用cookie-firefox禁用cookie的方法 - 河东软件园...
  7. 军工保密资质等级划分以及所需资料
  8. Tryhackme-Linux Server Forensics
  9. Kinit :Client ‘‘ not found in Kerberos database while getting initial credentials
  10. CameraX 下使用 OpenCV 微信二维码识别