第二十一章 数据访问(In .net4.5) 之 序列化

1. 概述

  应用程序间传递数据,需要先将数据对象转化为字符流或字节流的形式,然后接收端收到后再转化回原始的数据对象。这就是序列化与反序列化。

  本章介绍 .net中的序列化与反序列化、序列化器的种类 以及 为序列化配置对象。

2. 主要内容

  2.1 序列化与反序列化

    序列化只能保存对象的数据部分,不能保存方法部分。可以创建custom data transfer object(DTO)来只保存指定的数据信息。

    .net平台提供三种类型的序列化:

    ① XmlSerializer:

[Serializable]
public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}
XmlSerializer serializer = new XmlSerializer(typeof(Person));
string xml;
using (StringWriter stringWriter = new StringWriter())
{
    Person p = new Person
    {
        FirstName = “John”,
        LastName = “Doe”,
        Age = 42
    };
    serializer.Serialize(stringWriter, p);
    xml = stringWriter.ToString();
} 

Console.WriteLine(xml); 

using (StringReader stringReader = new StringReader(xml))
{
    Person p = (Person)serializer.Deserialize(stringReader);
    Console.WriteLine(“{0} {1} is {2} years old”, p.FirstName, p.LastName, p.Age);
} 

      可用的attribute:

      未完待续。。

时间: 2024-10-07 08:56:35

第二十一章 数据访问(In .net4.5) 之 序列化的相关文章

2017.2.15 开涛shiro教程-第二十一章-授予身份与切换身份(一) table、entity、service、dao

原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第二十一章 授予身份与切换身份(一) 1.使用场景 某个领导因为某些原因不能访问一些网站,他想把这个网站上的工作委托给秘书,但是他又不想提供账户.密码.此时可以使用shiro的 RunAs 功能. RunAs:允许一个用户假装为另一个用户(如果获得了允许)的身份进行访问. 注意,本章代码基于<第十六章 综合实例>,详细的数据模型及基本流程见该章. 2.表及数据

从零开始的linux 第二十一章(Inode以及Block详解其二与软链接)

从零开始的linux 第二十一章 在紧张的学习中,又迎来了新的一周~~小编也在同学们的迫切要求下继续来更新博客咯~~ 同学们:"我们才没要求你!" 唉??同学们一点都不配合呢~~别不好意思嘛~~ 好啦~不逗你们了,小编就节省大家的时间,赶快开始这章的课程吧~~ 在上一章中,小编给同学们讲了 Inode号 和 Block,不过还没有给同学们讲完哦~所以上一章的题目是 其一 ,那么毫无疑问这一章就是其二的内容咯~从上一章同学们已经了解了什么是Inode和Block,以及Inode中包含哪些

C#高级编程第11版 - 第二十一章

导航 C# 全版本特性一览 全书目录 第二十一章 Tasks and Parallel Programming 21.1 概述 459 21.2 Parallel 类 460 21.2.1 使用Parallel.For()方法循环 460 21.2.2 提前中断Parallel.For 462 21.2.3 Parallel.For()方法的初始化 462 21.2.4 使用Parallel.ForEach()方法循环 463 21.2.5 通过Parallel.Invoke()方法调用多个方法

第二十一章

孔德之容,唯道是从.道之为物,唯望唯沕.沕呵望呵,中有象呵:望呵沕呵,中有物呵:幽呵冥呵,中有精呵:其精甚真,其中有信.自今及古,其名不去,以顺众父.吾何以知众父之然也?以此. “   孔德之容”,大德的这种运动“唯道是从”,它只是去追随道的运转,或者是按照道的这个运转规律去运转,所以老子在这讲出来道是德的内在动力,德是道的外在体现,大德,德行的这种运动完全是按照道的规律去运转的,叫唯道是从.您如果懂得了道的原理,您就能够从容的去做这个德了 沕是深远的意思,那个望是辽阔辽远的意思,没有边界,这个

高性能javascript(第二章 数据访问)

1.数据存储位置关系到访问速度.在 JavaScript 中有四种基本的数据访问位置: 直接量: 变量: 数组: 对象: 2.多数情况下,对一个直接量和一个局部变量数据访问的性能差异是微不足道的. 3.作用域和标示符解析: 每一个 JavaScript 函数都被表示为对象.进一步说,它是一个函数实例.函数对象正如其他对象那样, 拥有你可以编程访问的属性,和一系列不能被程序访问,仅供 JavaScript 引擎使用的内部属性. 其中一个内部属性是[[Scope]],由ECMA-262 标准第三版定

第二十一章、使用查询表达式来查询内存中的数据

什么是语言集成查询(LINQ) 对从应用程序代码中查询数据的机制进行了“抽象”.这个功能称为“语言集成查询”(Language Integrated Query). LINQ的设计者大量借鉴了关系数据库管理系统(例如Microsoft SQL Server)的处理方式,将“数据库查询语句”与“数据在数据库中的内部格式”分隔开.LINQ的语法和语义和SQL很像,具有许多相同的优势.要查询的数据的内部结构发生改变后,不必修改查询代码.注意,虽然LINQ和SQL看起来很像,但LINQ更加灵活,而且能处

WP8.1学习系列(第二十一章)——本地应用数据

了解如何存储和检索本地应用数据存储中的设置和文件. 路线图: 本主题与其他主题有何关联?请参阅: 使用 C# 或 Visual Basic 的 Windows 运行时应用的路线图 使用 C++ 的 Windows 运行时应用的路线图 获取应用的设置和文件容器 使用 ApplicationData.LocalSettings 属性可以获取 ApplicationDataContainer 对象中的设置.使用ApplicationData.LocalFolder 属性可以获取 StorageFold

第二十章 数据访问(In .net4.5) 之 使用LINQ

1. 概述 .net3.5中新添加给C#的LINQ查询,提供了直观便捷的数据查询方式.并且支持多种数据源的查询. 本章介绍标准的LINQ操作,如何用最优的方式使用LINQ 以及 LINQ to XML. 2. 主要内容 2.1 使LINQ可行的语言特性 ① 隐式类型(Implicitly typed variables): 使用var标记,由编译器推断类型.也是强命名的. ② 对象初始化语法(Object initialization syntax):用一种简洁的语法进行对象初始化. var p

第二十一章 命名空间和程序集

命名空间和程序集引用其他程序集mscorlib库命名空间命名空间名称命名空间的补充命名空间跨文件伸展嵌套命名空间using 指令using命名空间指令using别名指令程序集的结构程序集标识符强命名程序集创建强命名程序集程序集的私有方式部署共享程序集和GAC把程序集安装到GACGAC内的并肩执行配置文件延迟签名 命名空间和程序集 引用其他程序集 在第1章中,我们在高层次上观察了编译过程.编译器接受源代码文件并生称名称为程序集的输出文件.这一章中,我们将详细阐述程序集以及它们是如何生成和部署的.你